我正在尝试从我的Android应用程序中的网站播放音频文件,但它遇到媒体播放器错误(1,-1004)。
当我在Windows媒体播放器或vlc播放器中使用时,流媒体链接工作正常。为什么Android媒体播放器会产生此错误?我的代码是
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play_file);
// Show the Up button in the action bar.
setupActionBar();
playSong("http://WEBSITE/001.mp3");
}
private void playSong(String songPath) {
MediaPlayer mP = new MediaPlayer();
try {
mP.setDataSource(songPath);
mP.setAudioStreamType(AudioManager.STREAM_MUSIC);
mP.prepare();
mP.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
mp.start();
}
});
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
答案 0 :(得分:2)
使用以下代码
MediaPlayer mP = new MediaPlayer();
mP.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mP.setDataSource(songPath);
mP.setOnErrorListener(this);
mP.setOnPreparedListener(this);
mP.prepareAsync();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
答案 1 :(得分:0)
这可能是解决方案:
<permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.INTERNET" />
<permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<use-permission android:name="android.permission.ACCESS_NETWORK_STATE" />