Jouer tableau d'Octets dans MediaPlayer - Android
Je suis en train de lire un fichier audio avec le lecteur multimédia. Je veux jouer tableau d'octets dans MediaPlayer. Comment puis-je faire cela? J'ai vérifié cette
public void writeSamples(byte[] samples, int length)
{
// track.write( samples, 0, length);
File tempMp3;
try {
tempMp3 = File.createTempFile("kurchina", ".mp3");
tempMp3.deleteOnExit();
FileOutputStream fos = new FileOutputStream(tempMp3);
fos.write(samples);
fos.close();
//Tried reusing instance of media player
//but that resulted in system crashes...
MediaPlayer mediaPlayer = new MediaPlayer();
//Tried passing path directly, but kept getting
//"Prepare failed.: status=0x1"
//so using file descriptor instead
FileInputStream fis = new FileInputStream(tempMp3);
mediaPlayer.setDataSource(fis.getFD());
mediaPlayer.prepare();
mediaPlayer.start();
} catch (IOException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
Mais ce n'est pas la lecture audio. Il est juste de générer plusieurs fichiers dans la Carte SD. Et de donner à cette erreur:
06-06 11:02:59.191: E/MediaPlayer(1831): Unable to to create media player
06-06 11:02:59.191: W/System.err(1831): java.io.IOException: setDataSourceFD failed.: status=0x80000000
06-06 11:02:59.201: W/System.err(1831): at android.media.MediaPlayer.setDataSource(Native Method)
06-06 11:02:59.201: W/System.err(1831): at android.media.MediaPlayer.setDataSource(MediaPlayer.java:749)
06-06 11:02:59.201: W/System.err(1831): at org.vinuxproject.sonic.SonicTest$1.run(SonicTest.java:178)
06-06 11:02:59.201: W/System.err(1831): at java.lang.Thread.run(Thread.java:1096)
S'il vous plaît aider moi. Toute aide est appréciée.
Grâce
ajouter votre extrait de code ici et quelqu'un sera en mesure de vous aider.
Je vous recommande d'essayer le setDataSource variante qui prend un offset et de la longueur en plus de la FD. Le générés fichier mp3 jouer dans l'application musique? Aussi, deleteOnExit n'est pas utile dans Android/Dalvik.
Aucun fichier n'est pas en lecture dans mon application. Merci de m'aider
Le
Cela fonctionne si vous spécifiez un répertoire avec
Je vous recommande d'essayer le setDataSource variante qui prend un offset et de la longueur en plus de la FD. Le générés fichier mp3 jouer dans l'application musique? Aussi, deleteOnExit n'est pas utile dans Android/Dalvik.
Aucun fichier n'est pas en lecture dans mon application. Merci de m'aider
Le
samples
tableau contient des mp3, des données codées, ou tout simplement raw PCM données?Cela fonctionne si vous spécifiez un répertoire avec
createTempFile(String, String, File)
? Est-il une différence entre interne/externe? Où sont les fichiers temporaires créés maintenant?OriginalL'auteur Krishna Suthar | 2012-06-06
Vous devez vous connecter pour publier un commentaire.
En fonction de vos commentaires, vous utilisez un fichier WAV pour la lecture en continu. Classique WAV a un en-tête au début du fichier et le reste du fichier est pure data. Si vous n'incluez pas de la partie en-tête, puis les paramètres de il le besoin d'être remis au joueur le pouvoir interpréter les données (nombre de canaux, des échantillons par seconde, la taille du bloc, etc.) En conséquence, un fichier WAV à lui seul n'est pas diffusables, les paramètres doivent être introduits dans le lecteur.
MPEG-4 sur l'autre main, a été définie de façon à être capable de streaming. Il contient bien identifiable segments qui sont possible d'être joué seul, donc tant que le segment de données contient un en-tête, les données après ça peut être jouable. En plus c'est bon taux de compression, c'est une des raisons pour lesquelles de nombreuses radios internet utiliser.
MediaPlayer
dans Android est un haut niveau composant et le faible niveau des paramètres qui serait nécessaire pour la lecture de fichiers WAV morceau ne sont pas accessibles. Si vous avez besoin de la source à WAV et ne peut pas utiliser d'autres diffusables formats, alors vous pouvez essayer de le AudioTrack classe ou OpenSL ES de même un accès de niveau inférieur.Pour AudioTrack c'est un très bon tutoriel: http://audioprograming.wordpress.com/2012/10/18/a-simple-synth-in-android-step-by-step-guide-using-the-java-sdk/
Laissez-moi savoir si je peux l'aider.
le wordpress lien est "mort" en ce que le blog est maintenant en privé
on peut essayer de demande d'accès à un blog ou d'essayer de trouver un nouveau tutoriel. Si vous avez des suggestions, n'hésitez pas à éditer le post.
OriginalL'auteur allprog
Après l'écriture d'un octet sur le fichier :
vous pouvez jouer à partir de cette fonction:
Et vous pouvez obtenir les informations de fichier à partir d'ici:
OriginalL'auteur user1662847
Essayez ceci :
OriginalL'auteur Harish Godara