2010-10-26 3 views
0

Je lit un fichier wav enregistré en tant que flux d'octets à partir d'un service Web et je souhaite le lire lorsque mon enregistrement est affiché. Téléphone 7 app. Mon approche consistait à enregistrer le flux d'octets dans un fichier wav dans un stockage isolé lors de la navigation vers l'enregistrement et à définir ensuite la source de mon lecteur multimédia (MediaElement1) sur cette source lorsqu'un bouton est cliqué et lu.Lecture d'un fichier multimédia à partir d'un stockage isolé

Voici mon code actuel dans mon "PlayButton". (la taille correspond au flux d'octets mais aucun résultat audio). Si je mets le flux dans un fichier WAV stocké en tant que ressource, cela fonctionne donc peut-être que j'ai juste besoin de savoir comment définir l'Uri sur le fichier de stockage isolé.

(par exemple le code suivant fonctionne)

Mediaelement1.Source = new Uri("SampleData\\MyMedia.wav",UriKind.Relative) Works 
Mediaelement1.Position = new TimeSpan(0,0,0,0) ; 
Mediaelement1.Play() ; 

Voici mon exemple de code ... des idées?

IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication() ; 
IsolatedStorageFileStream str = new IsolatedStorageFileStream(
    "MyMedia.wav", FileMode.Open, isf) ; 
long size = str.Length; 
mediaelement mediaelement = new MediaElement() ; 
mediaelement.SetSource(str) ; 
mediaElement1.Source = mediaelement.Source ; 
mediaElement1.Position = new TimeSpan(0, 0, 0, 0); 
mediaElement1.Play(); 
+0

Je ne sais pas vraiment quelle est la question. –

Répondre

2

Vous ne devriez pas avoir à créer 2 éléments média. Appelez simplement .SetSource sur mediaElement1 directement.

J'ai un code similaire qui définit la source MediaElement à un film dans le stockage isolé et qui fonctionne très bien:

using (var isf = IsolatedStorageFile.GetUserStoreForApplication()) 
{ 
    using (var isfs = new IsolatedStorageFileStream("trailer.wmv", FileMode.Open, isf)) 
    { 
     this.movie.SetSource(isfs); 
    } 
} 

Avec ce qui précède, movie est un MediaElement je l'ai déjà créé en XAML et mis à autoPlay vrai.

J'ai eu quelques problèmes avec ce qui précède quand le premier travail.

Je vous conseille d'essayer ce qui suit pour debug:

  1. Assurez-vous que le fichier a été écrit au stockage isolé correctement et dans son intégralité.

  2. Gérez l'événement MediaFailed pour savoir pourquoi il ne fonctionne pas.

+1

Vous avez du rock! Lutté contre cela pendant des heures. –

+0

@Shawn Pas de problème –

0

Une chose que je remarqué est que lorsque le dispositif est attaché à l'ordinateur l'audio ne fonctionne pas ... A passé quelques heures avec celui-ci en essayant d'écouter des fichiers mp3.

+1

Utilisez WPConnect.exe plutôt que Zune pour vous connecter si vous souhaitez accéder au support de l'appareil lorsqu'il est connecté à un PC. –

Questions connexes