gpt4 book ai didi

android - 在按钮单击时播放音频声音,不重复

转载 作者:行者123 更新时间:2023-12-03 02:08:51 24 4
gpt4 key购买 nike

我希望能够拥有一个单击以开始并再次单击以停止的按钮,或者能够拥有一个每次单击时都不会启动多个声音的开始按钮。我有一个音频文件,如果您单击开始 3 次,它会同时播放 3 个不同的轨道。停止按钮只停止一个,其他轨道继续播放,直到我终止应用程序。

这是我的代码。我是菜鸟

package com.example.mitch_000.button;

import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;

public class MyActivity extends Activity {

MediaPlayer player;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
Button button1=(Button)findViewById(R.id.button1);
Button button2=(Button)findViewById(R.id.button2);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
player=MediaPlayer.create(MyActivity.this,R.raw.lw);

player.start();}

});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
player.stop();

}

});

}

}

最佳答案

当您调用 player=MediaPlayer.create(MyActivity.this,R.raw.lw);在您的 OnClickListener ,您正在创建音频文件的新实例,然后在每次单击按钮时播放它。

您需要创建 player 的单个实例OnClickListener 之外的对象(在 OnCreate 中),然后您可以使用此引用来播放、暂停和停止一个音频文件。

这是您可以使用的代码:

package com.example.mitch_000.button;

import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;

public class MyActivity extends Activity {

MediaPlayer player;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);

player=MediaPlayer.create(MyActivity.this,R.raw.lw);
Button button1=(Button)findViewById(R.id.button1);
Button button2=(Button)findViewById(R.id.button2);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
player.start();
}

});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
player.stop();
}

});
}

关于android - 在按钮单击时播放音频声音,不重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25965537/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com