gpt4 book ai didi

java - Android MediaPlayer : error (1, -2147483648) 从字符串变量引用时

转载 作者:行者123 更新时间:2023-12-01 09:40:32 27 4
gpt4 key购买 nike

我正在使用 jsoup 抓取一些音频文件源 URL 并将它们存储在字符串中。如果该字符串稍后不为空,则会创建一个带有 onClick 监听器的按钮来播放该文件。这已经有效,但在使用不同页面进行测试时它已损坏。如果我直接将数据源设置为要抓取的 URL,它会起作用,因此这不是解码器问题。这就是问题发生的地方。

if (play1 != null) {

LinearLayout linearLayout = (LinearLayout) findViewById(R.id.buttonPanel);
final Button btn = new Button(MainActivity.this);
btn.setText("Play");
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

try {



mp.reset();
mp.setDataSource(play1);
mp.prepareAsync();
mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});


} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});

try{
linearLayout.addView(
btn,
new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT)
);
} catch (NullPointerException e) {
e.printStackTrace();
}

}

如果您想重现问题,我已经包含了重现所需的项目的主要功能。
Here是使用关键变量的代码示例,此处重点关注数据源字符串。

here是完全相同的代码的示例,唯一的更改是数据源字符串,并且此代码不起作用。

如果您想运行此代码进行检查,您将需要导入 Jsoup 库并添加 my checker class .

最佳答案

替换

mp.setDataSource(play1);

作者:

mp.setDataSource(play1.replaceAll(" ", "%20"));

关于java - Android MediaPlayer : error (1, -2147483648) 从字符串变量引用时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38489367/

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