Visualizer stoppt MediaPlayer

  • 2 Antworten
  • Letztes Antwortdatum
Cynob

Cynob

Enthusiast
1.023
Hallo
Ich häng hier jetzt schon ne ganze Weile an einem Problem und komme einfach nicht auf eine Lösung.

Und zwar:

Ich möchte ein Liedstück abspielen und dabei mit dem Visualizer Grafiken auf das Display zeichnen lassen. Also hab ich mir diese Vorlage mal geladen ( In meiner eigentlichen App wo das hinterher reinsoll hab ich den gleichen Effekt.)
https://github.com/felixpalmer/android-visualizer

So und jetzt zum eigentlichen Problem:

Wenn ich den Code aus von Felix P. auf dem Nexus 4 mit Android 5.0 ausführe läuft er ohne Probleme durch und macht was er soll.

So jetzt hab ich hier noch ein LG PAD 8.3 mit Android 4.4.2 drauf.

Mit der mitgelieferten Soundfile welche ja grad 10sec lang ist läuft es auch ohne Probs.
Wenn ich jetzt allerdings eine andere mp3 in den /res/raw Ordner packe stirbt mir der Player auf dem Tablet nach ner knappen Sekunde Wiedergabe ab.

Workarounds hab ich im Netz zwar für Samsung Handys gefunden - aber das Tunneling ist nicht aktiv auf dem LG somit fällt das schonmal weg.

Jetzt komm ich irgendwie nicht weiter......

Hat jemand von euch das gleiche Problem schonmal gehabt? Wo könnte ich da ansetzen?

Ich bin um jede Hilfe dankbar :D


Achja hier mal noch das Logcat vom Tablet:

Code:
...

12-30 02:14:48.993: V/MediaPlayer[Native](21332): getDuration_l
12-30 02:14:48.993: E/MediaPlayer[JAVA](21332): Should have subtitle controller already set
12-30 02:14:48.993: D/MediaPlayer[JAVA](21332): broadcasting MEDIA_CHANGE_PLAYER_STATE(with context) : 0x0
12-30 02:14:48.993: V/MediaPlayer[Native](21332): invoke 72
12-30 02:14:48.993: D/MediaPlayer[Native](21332): invoke lgeInvokeId=0x7e000002
12-30 02:14:48.993: D/MediaPlayer[Native](21332): MediaPlayer::invoke::getparam
12-30 02:14:48.993: D/MediaPlayer[Native](21332): MediaPlayer::getParameter mCurrentState = 0x00000010
12-30 02:14:48.993: D/MediaPlayer[JAVA](21332): broadcasting MEDIA_CHANGE_PLAYER_STATE(with context) : state = 16
12-30 02:14:48.993: V/MediaPlayer[Native](21332): getCurrentPosition
12-30 02:14:48.993: V/MediaPlayer[Native](21332): getDuration_l
12-30 02:14:49.103: V/MediaPlayer[Native](21332): getCurrentPosition
12-30 02:14:49.103: V/MediaPlayer[Native](21332): isPlaying: 1
12-30 02:14:49.164: D/dalvikvm(21332): GC_FOR_ALLOC freed 102K, 48% free 9205K/17472K, paused 18ms, total 19ms
12-30 02:14:49.184: I/dalvikvm-heap(21332): Grow heap (frag case) to 19.670MB for 8803216-byte allocation
12-30 02:14:50.985: I/ActivityManager(21332): Timeline: Activity_idle id: android.os.BinderProxy@4208e6b8 time:495055907
12-30 02:14:51.316: W/AudioSystem(21332): AudioFlinger server died!
12-30 02:14:51.316: W/AudioEffect(21332): IEffect died
12-30 02:14:51.316: W/IMediaDeathNotifier(21332): media server died
12-30 02:14:51.316: V/MediaPlayer[Native](21332): died
12-30 02:14:51.316: V/MediaPlayer[Native](21332): message received msg=100, ext1=100, ext2=0
12-30 02:14:51.316: E/MediaPlayer[Native](21332): error (100, 0)
12-30 02:14:51.316: D/MediaPlayer[Native](21332): calling notify_player_state: 0
12-30 02:14:51.316: V/MediaPlayer[Native](21332): callback application
12-30 02:14:51.316: V/MediaPlayer[Native](21332): back from callback
12-30 02:14:51.316: V/MediaPlayer[Native](21332): died
12-30 02:14:51.316: V/MediaPlayer[Native](21332): message received msg=100, ext1=100, ext2=0
12-30 02:14:51.316: E/MediaPlayer[Native](21332): error (100, 0)
12-30 02:14:51.316: D/MediaPlayer[Native](21332): calling notify_player_state: 0
12-30 02:14:51.316: D/MediaPlayer[JAVA](21332): broadcasting MEDIA_CHANGE_PLAYER_STATE(with context) : 0x0
12-30 02:14:51.316: E/MediaPlayer[Native](21332): invoke failed: wrong state 0
12-30 02:14:51.316: V/MediaPlayer[Native](21332): callback application
12-30 02:14:51.316: V/MediaPlayer[Native](21332): back from callback
12-30 02:14:51.316: D/MediaPlayer[JAVA](21332): broadcasting MEDIA_CHANGE_PLAYER_STATE(with context) : state = 0
12-30 02:14:51.316: E/MediaPlayer[JAVA](21332): Error (100,0)
12-30 02:14:51.316: D/MediaPlayer[JAVA](21332): broadcasting MEDIA_CHANGE_PLAYER_STATE(with context) : 0x0
12-30 02:14:51.316: E/MediaPlayer[Native](21332): invoke failed: wrong state 0
12-30 02:14:51.326: D/MediaPlayer[JAVA](21332): broadcasting MEDIA_CHANGE_PLAYER_STATE(with context) : state = 0
12-30 02:14:51.326: E/MediaPlayer[JAVA](21332): Error (100,0)
 
zeig mal dein code wo du die file abspiuelst es kommt nähmlich drauf an was fürt funktionen du benutzt ob du einfach ein sound von kleienr größe abspielst oder einen stream benutzt für größere dateien
 
Das ist es ja - es wird schon als Stream abgespielt. Ich kann den Code von Felix Palmer nemen und erziele den Effekt - also schon mit der "Vorlage".

Verschiedene mp3s hab ich aus meiner Sammlung auch schon ausprobiert - immer das gleiche auf dem Tablet.

Also ich hab zu testzwecken jetzt nichts anderes gemacht als eine eigene MP3 zu test.mp3 umzubenennen und die in /raw damit zu ersetzen. - auf dem Nexus4 läufts auch ohne zu murren...

Der ursprüngliche Beitrag von 08:36 Uhr wurde um 08:42 Uhr ergänzt:

Hier mal der Code vom Player in meiner eigentlichen app:


Code:
public void initMusicPlayer(){
          //set player properties
        //set player properties
        playerknapps.setWakeMode(getApplicationContext(), 
                PowerManager.PARTIAL_WAKE_LOCK);
        playerknapps.setAudioStreamType(AudioManager.STREAM_MUSIC); // *
        //set listeners
        playerknapps.setOnPreparedListener(this);
        playerknapps.setOnCompletionListener(this);
        playerknapps.setOnErrorListener(this);
        }

da wo das // * sitzt wird dem player ja mitgeteilt das ers als Stream verarbeiten soll....

Mich wundert halt nur das es aufm Nexus läuft ohne Probleme und das gleiche Programm aufm Tablet seinen Dienst verweigert an der Stelle.
 
Zurück
Oben Unten