gpt4 book ai didi

java - 媒体播放器在 API 级别 29 上不再工作

转载 作者:行者123 更新时间:2023-12-01 16:53:38 24 4
gpt4 key购买 nike

我一直在使用从托管 mp3 文件的 http 服务器流式传输媒体播放器的简单示例

当我在 api 级别 29 上尝试相同的代码时,它可以完美地工作(即在 api 级别 23 上)

它不再工作并给出以下错误代码:

2020-05-06 04:02:47.899 6926-6953/com.example.alarmmanager E/MediaPlayerNative: error (1, -2147483648)
2020-05-06 04:02:47.900 6926-6926/com.example.alarmmanager E/MediaPlayer: Error (1,-2147483648)

我一直在寻找错误代码的含义或如何使其在 api 级别 29 及更高级别上工作我的代码:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

final Button play = (Button) findViewById(R.id.btn_play);
final Button stop = (Button) findViewById(R.id.btn_stop);

play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaplayerhandler("start");
}
});

stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaplayerhandler("pause");
}
});
}
public void mediaplayerhandler(String status){
final MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
String url = "http://server.com/song.mp3"; // your URL here
try {
mediaPlayer.setDataSource(url);
} catch (IOException e) {
e.printStackTrace();
}
try {
mediaPlayer.prepare(); // might take long! (for buffering, etc)
} catch (IOException e) {
e.printStackTrace();
}

if(status.equals("pause")){
mediaPlayer.pause();
}
else if(status.equals("start")){
mediaPlayer.start();
}

}

最佳答案

查看明文 http 流量支持是否已禁用。它在 Android 28 及更高版本中默认处于禁用状态。

查看此link

关于java - 媒体播放器在 API 级别 29 上不再工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61633935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com