Kein Sound

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von themerx, 09.02.2011.

  1. themerx, 09.02.2011 #1
    themerx

    themerx Threadstarter Neuer Benutzer

    Beiträge:
    16
    Erhaltene Danke:
    0
    Registriert seit:
    09.02.2011
    Hallo liebe Leute,

    ich beschäftige mich seit ein paar Tagen mit dem Android SDK und möchte mir gerade eine Klasse schreiben, die Sounds spielen soll. Leider bekomme ich keinen Sound. Woran liegt es? Hier mal die Soundklasse.

    PHP:

    public final class SoundManager implements IDisposeable
    {
        private static 
    SoundManager instance;
        
        private final 
    int MAX_VOICES 5;
        private 
    SoundPool soundPool;
        private 
    AudioManager audioManager;
        private 
    ArrayList<SoundDatasoundList;
        private 
    int amount 0;
        
        public 
    SoundManager()
        {
            
    initialize();
        }
        
        private 
    void initialize()
        {
            
    soundList = new ArrayList<SoundData>();
            
            
    soundPool = new SoundPool(MAX_VOICESAudioManager.STREAM_MUSIC0);
            
            
    audioManager = (AudioManager)GameDriver.getInstance().getSystemService(Context.AUDIO_SERVICE);
            
    GameDriver.getInstance().setVolumeControlStream(AudioManager.STREAM_MUSIC);

        }
        
        public static 
    SoundManager i()
        {
            if (
    instance == null)
            {
                
    instance = new SoundManager();
                
    Log.d("Status""** instance created successfully!");
            }
            else
            {
                
    Log.d("Status""** instance has already been created!");
            }
            
            return 
    instance;
        }
        
        public 
    void addSound(String pathString namefloat volume)
        {
            try
            {
                
    AssetFileDescriptor descriptor GameDriver.getInstance().getAssets().openFdpath );
                
    soundList.add(new SoundData(soundPool.loaddescriptor), namevolume));
                
    amount++;
            }
            catch( 
    Exception ex )
            {
                
    Log.d"Sound Sample""** couldn't load sound '" name "'" );
                throw new 
    RuntimeExceptionex );
            }
        }
        
        public 
    SoundData getSoundData(String name)
        {
            for (
    int i 0amounti++)
            {
                if (
    soundList.get(i).ID_String == name)
                    return 
    soundList.get(i);
            }
            
    Log.e("Error""'" name "' does not exist!");
            return 
    null;
        }
        
        public 
    void playSound(String nameint loop)
        {
            
    SoundData data getSoundData(name);
            
    Log.d("Status" "ID: " data.ID_Num ", " data.ID_String);
            
    int volume audioManager.getStreamVolumeAudioManager.STREAM_MUSIC ); // * data.volume;
            
    soundPool.play(data.ID_Numvolumevolume101);
        }
        
        public 
    void dispose()
        {
            
        }
    }

    PHP:
    public class SoundData 
    {
        public 
    int ID_Num;
        public 
    String ID_String;
        public 
    float volume;
        
        public 
    SoundData(int ID_NumString ID_Stringfloat volume)
        {
            
    this.ID_Num ID_Num;
            
    this.ID_String ID_String;
            
    this.volume volume;
        }
    }
    Von Außen führe ich dann folgende Befehle aus.

    PHP:
    SoundManager.i().addSound("sounds/synth_01.mp3""synth"1.0f);

    // nach einer Wartezeit von ca 2 Sekunden dann...
    SoundManager.i().playSound("synth"2);


    Wäre toll, wenn mir jemand verraten könnte, wo der Fehler liegt. Der Debugger meldet keine Fehler, aber Sound kommt halt nicht.

    MFG T
     

Diese Seite empfehlen