[英]Android MediaPlayer: error (1, -2147483648) when referencing from string variable
我正在使用jsoup抓取一些音频文件源URL,并将它们存储在字符串中。 如果该字符串以后不为null,则将使用onClick侦听器创建一个按钮来播放该文件。 此方法有效,但在不同页面上进行测试时已损坏。 如果将setDatasource直接设置为将被抓取的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();
}
}
如果您想重现问题,我已经包含了重现所需的项目主要功能。
这是与key变量一起使用的代码示例,此处重点是dataSource String。
这是一个完全相同的代码示例,唯一的变化是对dataSource String的修改,但此代码不起作用。
如果要运行此代码进行检查,则需要导入Jsoup库并添加我的checker类 。
更换
mp.setDataSource(play1);
创建人:
mp.setDataSource(play1.replaceAll(“”,“%20”)));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.