问题:将网络录音播放器,也能播放本地录音
解决1:单独为本地录音创建开始录音,更新进度条,暂停录音等方法
解决
收获,跟ui有关系的都要放到handler中区执行,因为那才是在主线程中,不让无效
mediaPlayer.getDuration()与mediaPlayer.getCurrentPosition()这两个值可能会不匹配,,
解决办法,,mediaPlayer.getCurrentPosition()/100,区百位数比较
问题:网络音乐断点播放,时间和进度条不一致怎么办
原因,,下载器是根据MP3文件的头文件信息来匹配时间
而我们的音频格式是amr
要找到其中区别
amr 网络
01-17 11:15:29.387 14533-14533/com.oa.main I/音乐长度 mp3﹕ 600
01-17 11:15:30.389 14533-14533/com.oa.main I/音乐长度 mp3﹕ 1620
01-17 11:15:31.397 14533-14533/com.oa.main I/音乐长度 mp3﹕ 2640
01-17 11:15:32.401 14533-14533/com.oa.main I/音乐长度 mp3﹕ 3620
01-17 11:15:33.403 14533-14533/com.oa.main I/音乐长度 mp3﹕ 4640
01-17 11:31:32.161 15692-15692/com.oa.main I/音乐长度 mp3﹕ 80 5180220
01-17 11:31:33.860 15692-15692/com.oa.main I/音乐长度 mp3﹕ 440 5180220
01-17 11:31:34.869 15692-15692/com.oa.main I/音乐长度 mp3﹕ 1540 5180220
01-17 11:31:35.893 15692-15692/com.oa.main I/音乐长度 mp3﹕ 2560 5180220
01-17 11:31:36.896 15692-15692/com.oa.main I/音乐长度 mp3﹕ 3580 5180220
01-17 11:31:37.910 15692-15692/com.oa.main I/音乐长度 mp3﹕ 4600 5180220
5180220/1000/60=实际时间 86.33
amr本地
01-17 11:21:55.840 15158-15158/com.oa.main I/音乐长度 mp3﹕ 0
01-17 11:21:56.849 15158-15158/com.oa.main I/音乐长度 mp3﹕ 1020
01-17 11:21:57.863 15158-15158/com.oa.main I/音乐长度 mp3﹕ 2040
01-17 11:21:58.878 15158-15158/com.oa.main I/音乐长度 mp3﹕ 2300
mp3网络
01-17 11:30:24.527 15692-15692/com.oa.main I/音乐长度 mp3﹕ 0 9369
01-17 11:30:25.529 15692-15692/com.oa.main I/音乐长度 mp3﹕ 810 235128
01-17 11:30:26.536 15692-15692/com.oa.main I/音乐长度 mp3﹕ 1855 235128
01-17 11:30:27.538 15692-15692/com.oa.main I/音乐长度 mp3﹕ 2900 235128
01-17 11:30:28.542 15692-15692/com.oa.main I/音乐长度 mp3﹕ 3944 235128
235128/1000/60=实际时间 3.9
mp3 本地
01-17 11:19:04.307 14533-14533/com.oa.main I/音乐长度 mp3﹕ 1045
01-17 11:19:05.321 14533-14533/com.oa.main I/音乐长度 mp3﹕ 2090
01-17 11:19:08.344 14533-14533/com.oa.main I/音乐长度 mp3﹕ 4963
01-17 11:19:10.369 14533-14533/com.oa.main I/音乐长度 mp3﹕ 7053
01-17 11:19:11.374 14533-14533/com.oa.main I/音乐长度 mp3﹕ 7837
01-17 11:20:28.492 14533-14533/com.oa.main I/音乐长度 mp3﹕ 7837
问题解决 长度问题 不需要216 MEDIALENGHT_IN_SECONDS =216;//标准品质mp3一秒声音长度216
mp3和amr有区别
但是这个问题依然存在,,哎
java.io.IOException: setDataSourceFD failed.: status=0x80000000
at android.media.MediaPlayer.setDataSource(Native Method)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:984)
at com.oa.main.common.record.StreamingMediaPlayer.createMediaPlayer(StreamingMediaPlayer.java:218)
at com.oa.main.common.record.StreamingMediaPlayer.startMediaPlayer(StreamingMediaPlayer.java:195)
at com.oa.main.common.record.StreamingMediaPlayer.access$300(StreamingMediaPlayer.java:30)
at com.oa.main.common.record.StreamingMediaPlayer$5.run(StreamingMediaPlayer.java:177)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
这个是读取头文件失败,MP3文件播放正常,amr文件播放出现这个错误
这个可能是个解决办法,但是我无法利用
到最后还是没有解决这个问题
无法做到变下边播
这是MP3正常播放 可以边下边播
这是amr无法变下边播,下载完后播放