2010-05-19 13 views
9

na Giełdzie Droid i Nexus One, zamiarem takiego:Android Intent dla strumienia HTTP MP3 w telefonie HTC Incredible

new Intent(Intent.ACTION_VIEW).setDataAndType(Uri.parse("http://example.com/somemp3.mp3"), "audio/mp3"); 

działa dobrze i wyskakuje otworzyć odtwarzacz muzyki System do przesyłania pliku. Ale to nie pasuje do żadnej czynności w HTC Incredible, powodując zamknięcie się siły, gdy zadzwonię pod numer startActivity (Zgaduję, ze względu na brak filtrów zamiarów w zastępczych aplikacjach SenseUI). Wolałbym nie zarządzać instancją MediaPlayer, jeśli nie będę musiał; Czy ktoś wie, czy istnieje sposób na skonstruowanie intencji, aby przekonać Incredible do odtwarzania strumienia MP3 przez HTTP w jego wbudowanych aplikacjach Music lub Streaming Media?

+0

Za to, co jest warte, przestałem się poddawać i wdrażać MediaPl oparta na ayer aktywność do odtwarzania plików MP3 w aplikacji. Nadal uważam, że powinno być bardziej eleganckie i prostsze rozwiązanie z Intents. –

Odpowiedz

1

Spróbuj wpisać "audio/*". Myślę, że to działa.

0

Miałem do czynienia z podobnym problemem, a kiedy byłem w poszukiwaniu, znalazłem ten link, który pomaga ci trochę streamingu ze źródła mp3.

Mam nadzieję, że to pomaga.

+0

Jest to pomocne, jeśli używasz własnego rozwiązania opartego na MediaPlayer do odtwarzania z pliku na dysku, ale tak naprawdę nie odpowiada na oryginalne pytanie (jak otworzyć URI MP3 MP3 w odtwarzaczu muzyki systemowej w SenseUI, aby nie * mieć *, aby poradzić sobie ze wszystkimi nonsensem MediaPlayer). –

1

Ten kod pracował dla mnie:

Intent i = new Intent(android.content.Intent.ACTION_VIEW); 
i.setDataAndType(Uri.parse(url), "audio/*"); 
context.startActivity(i); 

Można również zobaczyć video streaming, używając "video/*" typ.

Ta metoda działała zarówno na Androida 1.5, jak i 2.2, nie jest pewna zgodności z SenseUI. "audio/mp3" też nie działało, więc nie jest to specyficzne dla senseUI.

+0

To była odpowiedź Fedora ... Nadal muszę testować to na telefonie SenseUI (co było prawdziwym problemem - dla niesensownych urządzeń, "audio/mp3" działało dobrze). –

+0

Zabawne, pomyślałem, że użycie polecenia android.content.Intent.ACTION_VIEW zamiast Intent.ACTION_VIEW spowodowało różnicę, ale wygląda na to, że działa teraz tak samo. Czy próbowałeś "(gwiazda)/(gwiazda)" dla typu? – NoBugs

0

odgrywać plik audio z serwera spróbować tej

try { 
    MediaPlayer player = new MediaPlayer(); 
    player.setAudioStreamType(AudioManager.STREAM_MUSIC); 
    player.setDataSource("http://xty/MRESC/images/test/xy.mp3" 
     ); 
    player.prepare(); 
    player.start(); 

} catch (Exception e) { 
// TODO: handle exception 
} 

również w oczywisty użycia pliku to uprawnienie ..

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 

nadzieja pomocy ty

ten kawałek kodu pochodzi z here

Powiązane problemy