gpt4 book ai didi

android - MediaPlayer.setDataSource() 和 prepare() 不工作 - android

转载 作者:IT老高 更新时间:2023-10-28 23:39:56 27 4
gpt4 key购买 nike

我在使用 MediaPlayer 对象时遇到了困难,但没有取得多大成功。如果我将声音 Assets 添加到我的原始文件夹并使用 R 中的 int 值调用它,它工作正常。但我希望能够从 url 中提取内容。

根据我读过的所有文档,setDataSource() 应该接受带有文件 url 的字符串参数。

我在 prepare() 语句中不断收到 IO 异常。我什至尝试将文件复制到本地,但仍然没有骰子。

有人有什么想法吗?

MediaPlayer mp = new MediaPlayer();
try {
mp.setDataSource("http://www.urltofile.com/file.mp3");
mp.prepare();
mp.start();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

最佳答案

试试 MediaPlayer.create(),你也可能想在播放器实际准备好后才开始,例如:

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MediaPlayer player = MediaPlayer.create(this, Uri.parse("http://www.urltofile.com/file.mp3"));
player.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
}

关于android - MediaPlayer.setDataSource() 和 prepare() 不工作 - android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3533837/

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