2011-06-18 38 views
11

Uygulamamda kısa bir ses çalmam gerekiyor. Aşağıdaki kodu yazdım ama Samsung telefonumda hiç sesim ve garip titreşim yok. Ama aynı zamanda bu kod benim android simülatörümde iyi çalışıyor. Benim kodum:SoundPool ile ses çalma

package com.samplers; 

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

public class FixVibroActivity extends Activity { 
    /** Called when the activity is first created. */ 

    private Button white; 
    private SoundPool spool; 
    private int soundID; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     this.setVolumeControlStream(AudioManager.STREAM_MUSIC); 
     spool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0); 
     soundID = spool.load(this, R.raw.error, 1); 

     white = (Button)findViewById(R.id.whiteBtn); 
     white.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       Sound(); 
      } 
     }); 
    } 

    public void Sound(){ 
     AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); 
     float volume = (float) audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); 
     spool.play(soundID, volume, volume, 1, 0, 1f); 
    }; 
} 

Bu sorunu çözmeme yardım edin lütfen! Şimdiden teşekkür ederim! :)

+1

Logcat'in ilginç hataları yazdırıp yazdırmadığını kontrol edebilir misiniz? – FeatureCreep

cevap

7

Ses denetiminizin veya ses dosyanızın doğru şekilde çalınmasıyla ilgili bir sorun olabilir: Sound() işlevini değiştirirseniz ne yapar? Telefonunuz R.raw.error dosya formatını doğru şekilde işlemiyorsa ancak emülatör doğru şekilde yapıyorsa, ÇOK garip olacaktır.

public void Sound(){ 
     AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); 
     float volume = (float) audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); 
     android.util.Log.v("SOUND","["+volume+"]["+spool.play(soundID, volume, volume, 1, 0, 1f)+"]"); 
    }; 
+2

Tekrar çaldığınız için teşekkürler! Problem çözüldü! :) Dosya formatını * .ogg'dan * .wav ve bingo'ya değiştirdim !! :) Yardım için teşekkürler! :) – lubart

+4

Ah, telefon ogg'yi desteklemiyor, ancak emülatör çalışıyor. Bilmek güzel. Dosya formatı olabileceğini düşündüm. – Femi

+0

Telefon bu formatı desteklemektedir. Bu dosya MediaPlayer ile çalındı, ancak sadece bir kez ve sonra sessizlik oldu. Her durumda benim için iyi haber :) Tekrar teşekkürler! :) – lubart