这是代码,但我一直在setDataSource
上收到错误,如果它不在片段中,它会正常运行,所以有人可以告诉我如何使其工作吗? / p>
try {
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
player.setDataSource(this, Uri.parse("http://www.example.com/example.mp4"));
player.setOnPreparedListener(this);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
答案 0 :(得分:2)
更改
player.setDataSource(this, Uri.parse("http://www.example.com/example.mp4"));
到
player.setDataSource(getActivity(), Uri.parse("http://www.example.com/example.mp4"));
setDataSource
将Context
的对象作为参数。由于Fragment
未展开Context
,因此您无法使用this
。
但Activity
扩展了Context
,因此您可以使用getActivity()
答案 1 :(得分:1)
更改
player.setDataSource(this, Uri.parse("http://www.example.com/example.mp4"));
在片段中:
player.setDataSource(this.getActivity(), Uri.parse("http://www.example.com/example.mp4"));