Java-Android播放外部MP3:错误—在状态1中调用MediaPlayer启动

Java-Android播放外部MP3:错误—在状态1中调用MediaPlayer启动,第1张

概述我在Android上播放外部MP3文件时遇到问题.我正在使用以下代码:MediaPlayerplayer=newMediaPlayer();try{BufferedInputStreambis=newBufferedInputStream(newjava.net.URL(url).openStream());FileOutputStreamfos=newFileOutputStream(Environment.getE

我在Android上播放外部MP3文件时遇到问题.我正在使用以下代码:

MediaPlayer player = new MediaPlayer();try {    BufferedinputStream bis = new BufferedinputStream(new java.net.URL(url).openStream());    fileOutputStream fos = new fileOutputStream(Environment.getExternalStorageDirectory().getPath() + "/forvo_temp.mp3");    bufferedoutputstream bos = new bufferedoutputstream(fos,1024);    byte [] data = new byte[1024];    int x=0;    while((x=bis.read(data,0,1024))>=0){        bos.write(data,0,x);                   }    player.reset();    player.start();} catch (Exception e) {    e.printstacktrace();}

url是外部文件所在的字符串.我确实具有SD卡的写入权限(WRITE_EXTERNAL_STORAGE).

在调试中,我看到:

E MediaPlayer start called in state 1E MediaPlayer error (-38, 0)E MediaPlayer Error (-38,0)

可能是什么问题?

解决方法:

找到了答案:在调用player.start()之前,必须根据State Diagram of the MediaPlayer reference运行setDataSource()和prepare().

像这样:

// Use same path as beforeplayer.setDataSource(Environment.getExternalStorageDirectory().getPath() + "/forvo_temp.mp3");player.prepare();
总结

以上是内存溢出为你收集整理的Java-Android播放外部MP3:错误—在状态1中调用MediaPlayer启动全部内容,希望文章能够帮你解决Java-Android播放外部MP3:错误—在状态1中调用MediaPlayer启动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1074921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存