Je suis totalement nouveau à Android Development et aux appareils Android en général, donc je ne sais pas comment les choses fonctionnent ici.Comment diffuser de la musique à partir d'url avec Java - Android
Je veux faire une application qui va diffuser de la musique à partir de mon URL et toujours jouer la chanson après avoir réduit l'application.
J'ai cherché ma question mais beaucoup de réponses étaient pour des chansons mp3 ou d'autres types, mais mon URL est d'une radio de phase donc ce n'est pas une seule chanson.
L'une des réponses que j'ai trouvé et nous avons été bon pour mon problème était this et utilise ce code:
Uri myUri = Uri.parse("your url here");
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(myUri, "audio/*");
startActivity(intent);
Cela me invite à choisir un lecteur de musique.
Est-il possible d'appuyer simplement sur le bouton "play" et d'entendre la musique?
Dans mon application iOS-je utiliser ce code et je peux démarrer et arrêter la musique en streaming chaque fois que je veux sans un lecteur externe:
func prepareToPlay() {
let url = URL(string: "myUrl")
playerItem = AVPlayerItem(url: url!)
player = AVPlayer(playerItem: playerItem)
player?.play()
}
Merci à l'avance
EDIT
Après suggéré dans les commentaires et la réponse, j'ai essayé de jouer avec MPlayer
, j'ai fait une fonction et je l'ai appelé quand j'ai appuyé sur mon bouton comme ceci:
public void playM() {
String url = "http://android.programmerguru.com/wp-content/uploads/2013/04/hosannatelugu.mp3";
mPlayer = new MediaPlayer();
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mPlayer.setDataSource(url);
} catch (IllegalArgumentException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (SecurityException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (IllegalStateException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
}
try {
mPlayer.prepare();
} catch (IllegalStateException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (IOException e) {
Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
}
mPlayer.start();
}
Mais je reçois une erreur (le quatrième message) et j'ai vu dans les journaux ceci:
Impossible de créer un lecteur multimédia
prepareAsync appelé à l'état 1, MPlayer (0x0)
début appelé à l'état 1, mPlayer (0x0)
erreur (-38, 0)
Qu'est-ce que [protocole réseau] (https://developer.android.com/guide/topics/media/media-formats.html#network) est votre serveur en utilisant? – CommonsWare
@CommonsWare Il utilise http –
AFAIK, ce qui n'était pas assez spécifique - voir les documents auxquels je me suis connecté. Vous êtes invités à passer l'URL à 'MediaPlayer' et voir si cela fonctionne. – CommonsWare