[英]Android Sound in Tabbed Activity
I have an app with 6 tabs. 我有一个带有6个标签的应用。 I followed this tutorial: https://youtu.be/00LLd7qr9sA .
我遵循了本教程: https : //youtu.be/00LLd7qr9sA 。 The tab XML files contain a scrollview and some buttons.
选项卡XML文件包含一个滚动视图和一些按钮。
I need to make a few of those buttons to make a sound when pressed. 我需要按一下其中几个按钮才能发出声音。 I can't seem to use an onClickListener and neither can I just make a function that I can call from the XML file.
我似乎无法使用onClickListener,也无法创建可以从XML文件调用的函数。 Can anyone tell me what to put in here:
谁能告诉我在这里输入什么:
package com.ggblbl.soundsintabs;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Tab4 extends Fragment {
MediaPlayer mediaPlayer;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.tab4makesounds, container, false);
}
}
try this 尝试这个
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
Vibrator vibe = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibe.vibrate(100);
// add your sound here
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
Try following code to add click listener to buttons in the fragment and play sound file. 尝试使用以下代码将Click侦听器添加到片段中的按钮并播放声音文件。
MediaPlayer mediaPlayer;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab4makesounds, container, false);
Button btnOne = (Button) view.findViewById(R.id.YourButtonId);
btnOne.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(mediaPlayer != null) {
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer = null;
}
mediaPlayer = MediaPlayer.create(getActivity(), R.raw.your_sound);
mediaPlayer.start();
}
});
return view;
}
}
I am assuming that your sound file is in res/raw/ folder 我假设您的声音文件位于res / raw /文件夹中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.