AudioTrack: play () hat nicht initialisiertes AudioTrack aufgerufen

8

Ich experimentiere mit der AudioTrack-Klasse. Grundsätzlich muss meine App einen Ton erzeugen, wenn der Benutzer ein bestimmtes Objekt auf dem Bildschirm berührt. Ich habe dieses Beispiel als Leitfaden verwendet.
Meine App scheint so zu funktionieren, wie sie sollte, aber normalerweise, nachdem sie den Bildschirm für ungefähr eine Minute berührt hat, stürzt sie ab:

%Vor%

Methoden aus der Klasse, die Sounds erzeugt

%Vor%

Dies ist eine Methode aus einer benutzerdefinierten Ansicht mein Thread wird verwendet

%Vor%

Irgendwelche Ideen, warum passiert das?

    
droid8421 02.07.2012, 18:13
quelle

2 Antworten

0

Ich würde denken, dass Sie play() aufrufen müssen, bevor Sie write() aufrufen.

Aber ich habe auch bemerkt, dass, wenn Sie viele AudioTrack Instanzen erstellen, auch wenn Sie denken, dass Sie alles aufschreiben, schreiben, manchmal funktioniert play() nicht und die Spur ist nicht initialisiert.

Sie werden versuchen ... fangen Sie dieses IllegalStateException und vermeiden Sie den Aufruf von write() , bis play() funktioniert, ohne eine Ausnahme auszulösen.

    
MikeHelland 12.09.2012, 02:17
quelle
1

Warum haben Sie Ihre stopPlaying () -Methode auskommentiert?

Sie können nur 32 AudioTracks erstellen. Wenn Sie mehr wollen, sollten Sie release () -Methode aufrufen.

    
Andrei Aulaska 15.06.2013 09:47
quelle