[英]Android media player works with some url but not with others
如果使用此URL,我的代码可以正常工作
http://programmerguru.com/android-tutorial/wp-content/uploads/2013/04/hosannatelugu.mp3
但是,如果我尝试使用此URL,则会收到以下异常
java.io.IOException: Prepare failed.: status=0x1
android.media.MediaPlayer.prepare(Native Method)
//after some lines
start called in state 0
error (-38, 0)
这是我使用的第二个URL
如果打开文件,您会发现两者是同一回事。 之前我认为.mp3
文件已损坏,但事实并非如此!
我猜问题与主持人或其他有关,但我已经不明白了。
这是我的代码。
public class MainActivity extends AppCompatActivity {
Button play;
Button stop;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
play = (Button) findViewById(R.id.play);
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Uri myUri = Uri.parse("http://hcservices.byethost4.com/hosannatelugu.mp3");
MediaPlayer mPlayer = new MediaPlayer();
try {
String a = "http://hcservices.byethost4.com/hosannatelugu.mp3";
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mPlayer.setDataSource(a);
mPlayer.prepare();
} catch (Exception e) {
e.printStackTrace();
}
mPlayer.start();
}
});
}
}
要从此处的Android网站复制一些文档。 也许会对您有帮助。
通过HTTP流从远程URL播放看起来像这样
String url = "http://........"; // your URL here
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(url);
mediaPlayer.prepare(); // might take long! (for buffering, etc)
mediaPlayer.start();
由于您的代码已经看起来像这样,所以我假设您的问题就是此附加说明。
注意:如果要传递URL以流式传输在线媒体文件,则该文件必须能够逐步下载。
因此,如果第一个链接有效,但第二个链接无效,则意味着第二个主机不支持“渐进式下载”。 这是服务器的问题,而不是您的应用程序或代码的问题。
来源: http : //developer.android.com/guide/topics/media/mediaplayer.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.