Benötige Hilfe mit MediaPlayer und speziellem Link

  • Antworten:7
  • Bentwortet
Gelöschter Account
  • Forum-Beiträge: 694

16.06.2012, 08:49:43 via Website

Hallo,

ich bräuchte mal Hilfe. Vielen Dank schon mal im Voraus.

Ich habe mir vorgenommen drei Apps für Google Drive zu bauen die wie meine drei Wuala Apps (hier im Market) funktionieren. Also eine Gallery, einen Music Player und einen Sync. Die Gallery App ist fertig (schon im Store) und läuft prima. Der Music Player ist eigentlich auch fertig bis auf ein "klitze-kleines" Problem. Der Media Player "frisst" den Link mit der MP3 Datei nicht. Ich denke das der Link von Google irgendetwas Spezielles ist - ich bekomme es aber nicht raus. Ich habe auch schon bei StackOverflow nachgefragt bisher gab es aber noch keine Antwort:

http://stackoverflow.com/q/11049258/471681

Beim folgenden MP3 Link handelt es sich um einen Public Link (wer den Link kennt hat automatisch Zugriff) das Problem kann also nicht mit einer fehlenden Authentication zusammen hängen:

https://docs.google.com/uc?authuser=0&id=0B2hum21gMcbZaTJNMHIrbnJqSUk3aTFYb1pzOStyNjN3Z3ZnPQ&export=download&revision=true

Diesen Link übergebe ich in einem Service an den MediaPlayer:

1player.id = newId;
2player.status = PlayerObject.BUFFERING;
3player.mediaPlayer.setOnBufferingUpdateListener(this);
4player.mediaPlayer.setOnCompletionListener(this);
5player.mediaPlayer.setOnErrorListener(this);
6player.mediaPlayer.setOnInfoListener(this);
7player.mediaPlayer.setOnPreparedListener(this);
8player.mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
9player.mediaPlayer.setDataSource(player.playlist.getUrl());
10player.mediaPlayer.prepareAsync();

Direkt im Anschluss gibt es dann diese LogCat Einträge:

1I/StagefrightPlayer(116): setDataSource('https://docs.google.com/uc?authuser=0&id=0B2hum21gMcbZaTJNMHIrbnJqSUk3aTFYb1pzOStyNjN3Z3ZnPQ&export=download&revision=true')
2E/MediaPlayer(23964): error (1, -2147483648)
3E/MediaPlayer(23964): Error (1,-2147483648)
4E/MediaPlayer(23964): stop called in state 0
5E/MediaPlayer(23964): error (-38, 0)
6I/StagefrightPlayer(116): setDataSource('https://docs.google.com/uc?authuser=0&id=0B2hum21gMcbZUjlDUkRHV000d1JVZ2xDZVlIK25WY3ZEQzVRPQ&export=download&revision=true')
7E/MediaPlayer(23964): error (1, -2147483648)
8E/MediaPlayer(23964): stop called in state 0
9E/MediaPlayer(23964): error (-38, 0)
10W/MediaPlayer(23964): mediaplayer went away with unhandled events
11W/MediaPlayer(23964): mediaplayer went away with unhandled events
12W/MediaPlayer(23964): mediaplayer went away with unhandled events

Ich denke das es am Link hängt. Interessanterweise scheitert auch wget. Wird der Link hingegen im Browser eingegeben so startet automatisch der Download der Datei.

Hat jemand eine Idee?

Harald

Antworten
Tino R.
  • Forum-Beiträge: 40

19.06.2012, 13:51:49 via App

... Hast du die Android Permission „Android.permission.INTERNET “ ?

Antworten
Rafael K.
  • Forum-Beiträge: 2.359

19.06.2012, 13:57:58 via Website

So wie ich das sehe macht die URL einige Server-Redirects.
Kann sein, dass der MediaPlayer damit nicht umgehen kann.



Der tatsächliche Download kam bei mir von einer ganz anderen URL:
https://doc-0g-88-docs.googleusercontent.com/docs/securesc/.... usw.usw.

(ich poste sie mal nicht hier, keine Ahnung, ob die irgendwas Session-relevantes enthält)

— geändert am 19.06.2012, 14:04:29

Antworten
Tino R.
  • Forum-Beiträge: 40

19.06.2012, 14:07:48 via App

Sollte der MP3-Spieler aber die Redirects nicht können, wie sieht es mit der Galerie aus ? 8|
Du kannst ja mal per Sockets einen HTTP-Request simulieren, bis er nicht mehr weiterleitet.

Antworten
Gelöschter Account
  • Forum-Beiträge: 694

19.06.2012, 14:57:19 via Website

Vielen Dank für Eure Hinweise.

Permissions etc. waren alle sauber. Die App entspricht auch in weiten Teilen meiner "Music Player for Wuala" App.

Nachdem ich das nicht hin bekam habe ich einen FileCache dazwischen geschaltet - und bekam das gleiche Problem. Mein FileCache schreibt Dateien mit einem Prefix "PREF" und einer Extension "EXT" ins Cache Verzeichnis der App.

Nachdem ich spaßeshalber die Dateien benannte wie sie heißen (z.B. "Lied.mp3") klappte es sofort. Es scheint, reine Vermutung, das der MediaPlayer in der Fassung die ich gerade teste (2.3.6) eine interpretierbare Extension erwartet. Die Google Re-Direct Orgie scheint die Extension auch zu verstecken und somit streamt der MediaPlayer das nicht.

Im Moment läuft hier "10CCs Donna" und ich denke morgen geht meine neue elfte App hoch in den Store "Music Player for Google Drive".

Antworten
Tino R.
  • Forum-Beiträge: 40

19.06.2012, 15:20:08 via App

Hey,

Freut mich, dass sie geht :)
Eine bitte, wenn sich das Thema erledigt hat, bitte als erledigt markieren ;)
Erleichtert die Übersicht in diesem Forum :D

Tion

Antworten
frank wilhelm
  • Forum-Beiträge: 1

19.08.2012, 10:48:22 via Website

ich benötige auch hilfe android google media player in welch ein format muss ich die filme wandeln damit er problemlos läuft .mit vlc habe ich probleme wenn ich keine internet verbindung habe geht er nach ca 2 minuten aus ,vielleicht kannst du mir helfen

Antworten