所以我使用可滚动标签+滑动导航在不同的标签屏幕上播放不同的音乐文件。
这是我为自动生成的默认片段修改的 OnCreateView
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main_dummy,
container, false);
TextView dummyTextView = (TextView) rootView
.findViewById(R.id.sT);
dummyTextView.setText(Integer.toString(getArguments().getInt(
ARG_SECTION_NUMBER)));
AssetFileDescriptor fda;
MediaPlayer amp = new MediaPlayer();
try {
fda = rootView.getContext().getAssets().openFd("songname.mp3");
amp.reset();
amp.setDataSource(fda.getFileDescriptor());
amp.prepare();
amp.start();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return rootView;
这里我只有一个显示屏幕索引号的文本视图。假设第一个屏幕显示“1”,第二个屏幕在 textView 中显示“2”......等等。
我也想要每个屏幕的 imageView,但我可以做到这一点。
问题在于播放音频。
现在它只是在屏幕启动时播放一首歌。说正在播放歌曲。
如果用户向左或向右滑动,如何改变播放的歌曲?我需要停止这个,根据索引号(ARG_SECTION_NUMBER)更改“setDataSource”......并再次播放。
但是如何知道用户是否滑动并更改了打开的选项卡?(无论是通过滚动标签还是滑动)
我应该在什么用户事件上进行这些更改?我可以设置一些默认情况下停止播放歌曲并在屏幕变化时切换到下一首的东西......?
我打算最终添加一个播放/暂停按钮。即使这样,我也想用屏幕更改资源..因此这个问题
谢谢!