Salut les gars, moi et quelques autres djs veulent être en mesure de télécharger nos mixes à un site qui pourrait ensuite être diffusé directement dans mon application. au moment où j'ai les fichiers stockés sur google drive. ils vont télécharger et puis je peux jouer via un lecteur multimédia. mais je veux que l'utilisateur soit en mesure de diffuser la musique directement à partir du site ..streaming un mp3 à partir d'un site/serveur
1) quel site suggéreriez-vous pour le téléchargement de la musique. J'ai un compte Firebase serait-ce une idée ou serait-ce que les données des fichiers que je télécharge sont chères? Im sur le salaire que vous allez type de compte. **** EDIT donc Ive a trouvé que firebase pourrait être une option viable réelle pour ce faire
2) quelle serait la meilleure façon de mettre en œuvre le code afin qu'il flux la musique directe plutôt que de le télécharger d'abord ?
**** EDIT Ive a trouvé un code Internet tandis que la pêche au chalut qui pourrait rendre ce viable mais je couture à obtenir une erreur de pointeur NULL sur la SetDataSource
ceci est mon code
i have ce mon onchild a ajouté
final String url = dataSnapshot.child("url").getValue(String.class);
urlList.add(url);
puis dans mon onitemclick i utiliser
mp3url = urlList.get(i);
fetchAudioUrlFromFirebase();
enfin la méthode pour le streaming mp3
private void fetchAudioUrlFromFirebase() {
String mp3 = mp3url;
final FirebaseStorage storage = FirebaseStorage.getInstance();
storageRef = storage.getReferenceFromUrl(mp3);
storageRef.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
try {
// Download url of file
final String url = uri.toString();
mMediaplayer.setDataSource(url);
// wait for media player to get prepare
mMediaplayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
mMediaplayer.prepareAsync();
} catch (IOException e) {
e.printStackTrace();
}
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.i("TAG", e.getMessage());
}
});
}
c'est mon plein logcat avec l'erreur de pointeur NULL
07-11 18:39:45.326 2565-2565/com.example.harrops.h20droidapp2 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.harrops.h20droidapp2, PID: 2565
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.MediaPlayer.setDataSource(java.lang.String)' on a null object reference
at com.example.harrops.h20droidapp2.Mixes$3.onSuccess(Mixes.java:198)
at com.example.harrops.h20droidapp2.Mixes$3.onSuccess(Mixes.java:192)
at com.google.android.gms.tasks.zze$1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
La question (1) ne concerne pas la programmation, elle est donc hors-sujet. La question (2) est trop large et est donc hors sujet. –
il s'agit de programmation, joe comment est-ce pas? merci pour l'aide si – markharrop
@JoeC est-ce un peu mieux? – markharrop