Поэтому я использую прокручиваемые вкладки + прокручивать навигацию для воспроизведения разных музыкальных файлов на разных экранах вкладок.Как обновить Фрагмент при прокрутке в [Прокручиваемые вкладки + Прокрутка] Навигация-Android?
Вот мой модифицированный 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;
} Здесь у меня просто TextView, который показывает порядковый номер экрана. Скажем, первый экран показывает «1», второй показывает «2» в textView ... и так далее.
Я хочу изображение для каждого экрана, но я могу это сделать.
Проблема с воспроизведением звука.
Сейчас он просто играет песню, когда начинается экран. Скажите, что играет песня.
Если пользователь переместится влево или вправо, как изменить воспроизведение песни? Мне нужно остановить это, изменить «setDataSource» в соответствии с номером индекса (ARG_SECTION_NUMBER) ... и воспроизвести его снова.
Но как узнать, прошел ли пользователь и изменил открытую вкладку? (с помощью прокручиваемой вкладки или прокрутки)
В каком пользовательском мероприятии я вношу эти изменения? Могу ли я установить то, что по умолчанию останавливает воспроизводимую песню и переключается на следующую, когда экран меняется ...?
В конце концов, я намерен добавить кнопку воспроизведения/паузы. Даже с этим я бы хотел сменить ресурсы с помощью экранов. Именно этот вопрос
Thnx!
Я добавил еще один легкий вариант для вашего случая в конце моего ответа. Проверьте изменения. – Sushil
Это работает, ** setUserVisibleHint() **. Спасибо –