【问题标题】:Weird Sound Looping on Click点击时奇怪的声音循环
【发布时间】:2011-10-07 20:01:33
【问题描述】:

我只是在单击按钮时发出声音。在模拟器中一切正常,但当我在手机上运行时,声音 #2 会无限循环播放。

这可能是手机问题吗?我从市场上下载了其他具有这些奇怪声音循环的应用程序。 (我有一个 Droid 2)

声明:

final MediaPlayer mp1 = MediaPlayer.create(this, R.raw.sound1);
final MediaPlayer mp2 = MediaPlayer.create(this, R.raw.sound2);

按钮1代码如下。

button1.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {                       
                    mp1.start();
                    textView1.setText("Hello");
                  }
            });

按钮2代码如下。(这是循环的)

    button2.setOnClickListener(new OnClickListener() {      
        public void onClick(View v) {
            count++;      
            mp2.start();                
            iv1.setVisibility(View.VISIBLE);                                    
            if (count == 5) {                 
                //I do some enabling of components in here      
            }                   
        }         
    });

我试过了

.stop()
.setLooping()
.pause()

以及在 if 语句前后移动 .start() 所有这些导致它仍然循环播放或根本没有声音。

【问题讨论】:

  • 如果将 R.raw.sound1 与 R.raw.sound2 交换,循环问题是否会出现在第二个媒体播放器上,还是会出现在 sound2 之后?
  • @slayton 当我切换声音时,在仍然循环之前循环的声音。您能否将您的评论作为答案以及会导致此问题的原因。但是是什么导致它在某些地方可以正常播放,但不是在所有地方都可以播放

标签: android android-layout audio


【解决方案1】:

如果您将 R.raw.sound1 与 R.raw.sound2 交换,循环问题是否会出现在第二个媒体播放器上,还是会出现在 sound2 之后?

我不是声音文件格式方面的专家,但这可能是文件本身的问题。尝试在 Audacity 中打开文件并切断最后 10 毫秒,然后将其另存为新文件,看看新文件中是否存在问题。

【讨论】:

  • 谢谢,下次有机会我会试一试
【解决方案2】:

尝试为此 MediaPlayers 添加 OnCompletionListener

mp.stop();

http://developer.android.com/reference/android/media/MediaPlayer.OnCompletionListener.html

希望对你有帮助

【讨论】:

  • 时间不多不过会研究一下,没用过这些,不妨学习一下
猜你喜欢
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多