資源簡介

代碼片段和文件信息
package?com.ysbing.lrcshow;
import?android.os.Bundle;
import?android.support.v4.app.Fragment;
import?android.text.TextUtils;
import?android.util.Log;
import?android.view.LayoutInflater;
import?android.view.View;
import?android.view.ViewGroup;
import?android.widget.TextView;
import?java.io.File;
import?java.io.FileNotFoundException;
import?java.util.Locale;
import?java.util.Timer;
import?java.util.TimerTask;
/**
?*?歌詞顯示區域
?*?
?*?比較難的邏輯,就是兩句歌詞交替顯示
?*?如果歌詞1為空,設置歌詞1為下一句歌詞,記錄時間1-時間2為歌詞2的等待時間
?*?歌詞1播放->時間2-時間1
?*?
?*?記錄開始時間
?*?播放前獲取現在時間,減去和歌詞時間的差
?*?歌詞結束時間減去開始播放時間,算出速度
?*/
public?class?LRCFragment?extends?Fragment?{
????private?View?mView;
????private?LRCTextView?lrcTv1;
????private?LRCTextView?lrcTv2;
????private?TextView?mTimeView;
????private?LrcUtil?lrcUtil;
????private?Timer?mTimer;
????private?long?musicDuration;
????private?float?time;
????private?long?startTime;
????private?boolean?isEnd;
????@Override
????public?View?onCreateView(LayoutInflater?inflater?ViewGroup?container?Bundle?savedInstanceState)?{
????????if?(mView?!=?null)?{
????????????return?mView;
????????}
????????mView?=?inflater.inflate(R.layout.fragment_lrc?container?false);
????????initUI();
????????return?mView;
????}
????private?void?initUI()?{
????????lrcTv1?=?(LRCTextView)?mView.findViewById(R.id.lrcTv1);
????????lrcTv2?=?(LRCTextView)?mView.findViewById(R.id.lrcTv2);
????????mTimeView?=?(TextView)?mView.findViewById(R.id.time);
????}
????/**
?????*?開始歌詞的播放
?????*/
????public?void?start(final?String?lrcPath?int?musicDuration)?throws?FileNotFoundException?{
????????this.musicDuration?=?musicDuration?*?1000;//轉換成毫秒
????????this.startTime?=?System.currentTimeMillis();
????????lrcUtil?=?new?LrcUtil(new?File(lrcPath));
????????new?Thread(new?Runnable()?{
????????????@Override
????????????public?void?run()?{
????????????????time1?=?time2?=?0;
????????????????word1?=?word2?=?null;
????????????????isEnd?=?false;
????????????????getActivity().runOnUiThread(new?Runnable()?{
????????????????????@Override
????????????????????public?void?run()?{
????????????????????????lrcTv1.cancel();
????????????????????????lrcTv2.cancel();
????????????????????????showTime();
????????????????????????showLrc1();
????????????????????}
????????????????});
????????????}
????????}).start();
????}
????private?void?showTime()?{
????????time?=?0;
????????if?(mTimer?!=?null)
????????????mTimer.cancel();
????????mTimer?=?new?Timer();
????????TimerTask?task?=?new?TimerTask()?{
????????????public?void?run()?{
????????????????time?+=?0.1;
????????????????getActivity().runOnUiThread(new?Runnable()?{
????????????????????@Override
????????????????????public?void?run()?{
????????????????????????String?text?=?String.format(Locale.getDefault()?“time:%.1f“?time);
????????????????????????mTimeView.setText(text);
????????????????????}
????????????????});
????????????}
????????};
????????mTimer.schedule(task?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????127??2016-07-26?16:13??LrcShow\.gitignore
?????文件??????????8??2016-07-26?16:13??LrcShow\app\.gitignore
?????文件???????9314??2016-07-26?16:39??LrcShow\app\app.iml
?????文件????????605??2016-07-26?16:19??LrcShow\app\build.gradle
?????文件????????662??2016-07-26?16:13??LrcShow\app\proguard-rules.pro
?????文件????????719??2016-07-26?17:07??LrcShow\app\src\main\AndroidManifest.xm
?????文件???????2049??2016-07-26?16:53??LrcShow\app\src\main\assets\演員.lrc
?????文件???????6997??2016-07-26?16:46??LrcShow\app\src\main\java\com\ysbing\lrcshow\LRCFragment.java
?????文件???????4507??2016-07-26?16:20??LrcShow\app\src\main\java\com\ysbing\lrcshow\LRCTextView.java
?????文件???????3960??2016-07-26?16:46??LrcShow\app\src\main\java\com\ysbing\lrcshow\LrcUtil.java
?????文件???????1771??2016-07-26?17:11??LrcShow\app\src\main\java\com\ysbing\lrcshow\MainActivity.java
?????文件???????1154??2016-07-26?16:51??LrcShow\app\src\main\res\layout\activity_main.xm
?????文件???????1184??2016-07-26?16:37??LrcShow\app\src\main\res\layout\fragment_lrc.xm
?????文件???????3418??2016-07-26?16:13??LrcShow\app\src\main\res\mipmap-hdpi\ic_launcher.png
?????文件???????2206??2016-07-26?16:13??LrcShow\app\src\main\res\mipmap-mdpi\ic_launcher.png
?????文件???????4842??2016-07-26?16:13??LrcShow\app\src\main\res\mipmap-xhdpi\ic_launcher.png
?????文件???????7718??2016-07-26?16:13??LrcShow\app\src\main\res\mipmap-xxhdpi\ic_launcher.png
?????文件??????10486??2016-07-26?16:13??LrcShow\app\src\main\res\mipmap-xxxhdpi\ic_launcher.png
?????文件?????????78??2016-07-26?16:52??LrcShow\app\src\main\res\values\strings.xm
?????文件????????528??2016-07-26?16:13??LrcShow\build.gradle
?????文件????????747??2016-07-26?16:13??LrcShow\gradle.properties
?????文件???????4971??2016-07-26?16:13??LrcShow\gradlew
?????文件???????2404??2016-07-26?16:13??LrcShow\gradlew.bat
?????文件????????427??2016-07-26?16:13??LrcShow\local.properties
?????文件????????861??2016-07-26?16:14??LrcShow\LrcShow.iml
?????文件?????????16??2016-07-26?16:13??LrcShow\settings.gradle
?????目錄??????????0??2016-07-26?17:11??LrcShow\app\src\main\java\com\ysbing\lrcshow
?????目錄??????????0??2016-07-26?16:17??LrcShow\app\src\main\java\com\ysbing
?????目錄??????????0??2016-07-26?16:16??LrcShow\app\src\main\java\com
?????目錄??????????0??2016-07-26?16:13??LrcShow\app\src\main\res\drawable
............此處省略19個文件信息
評論
共有 條評論