java - 选项卡式 Activity 中的Android声音

标签 java android audio tabs android-tablayout

我有一个带有6个标签的应用。我遵循了本教程:https://youtu.be/00LLd7qr9sA
选项卡XML文件包含一个滚动 View 和一些按钮。

我需要按一下其中几个按钮才能发出声音。我似乎无法使用onClickListener,也不能仅创建可以从XML文件调用的函数。谁能告诉我在这里输入什么:

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);
        }
}

最佳答案

尝试使用以下代码将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;
    }
}

我假设您的声音文件位于res / raw /文件夹中

关于java - 选项卡式 Activity 中的Android声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45013024/

相关文章:

android - SwipeRefreshLayout 只能托管一个直接子节点

Android ExpandableListView 不会在返回 LinearLayout 或 View 时展开

java - 使用 SAX 解析器,如何在不了解 xml 结构的情况下解析 xml 文件?

Android MediaRouter 音量事件

python - 如何从 URL 播放 mp3

java - Hibernate 使用 findOne 和 findById 无法看到数据库中更新后触发器对记录所做的更改

java - csvWriter java : Create csv with multiple pages

java - 生成一个包含 n 个 1 的随机 BitSet

java - ThreadLocal 跨线程取值

Android MediaRecorder .prepare 未处理的 IOEception