2010-10-26 3 views
0

Я читаю wav-файл, сохраненный как поток байтов из веб-службы, и хочу воспроизвести его, когда отображается моя запись. Телефон 7 приложение.Воспроизведение медиафайла из изолированного хранилища

Мой подход состоял в том, чтобы сохранить поток байтов в wav-файл в изолированном хранилище при навигации к записи и затем установить источник моего медиаплеера (MediaElement1) в этот источник, когда нажимается кнопка и воспроизводится.

Ниже мой текущий код в моем «PlayButton». (размер соответствует байтовому потоку, но нет звуковых результатов). Если я установил поток в WAV-файл, хранящийся в качестве ресурса, он работает, поэтому, возможно, мне просто нужно знать, как установить Uri в изолированный файл хранилища.

(например, следующий код работает)

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

Вот мой пример кода ... какие-нибудь идеи?

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

Я действительно не знаю, в чем вопрос. –

ответ

2

Вам не нужно создавать 2 мультимедийных элемента. Просто позвоните .SetSource на mediaElement1 напрямую.

У меня есть подобный код, который устанавливает источник MediaElement в кино в изолированном хранилище и что работает отлично:

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

С выше, movie является MediaElement Я уже создал в XAML и установить AutoPlay в правда.

У меня было несколько проблем с вышеприведенным, когда я впервые начал работать.

Я предлагаю попробовать следующее, чтобы помочь отладки:

  1. Убедитесь, что файл был записан в изолированном хранилище правильно и в полном комплекте.

  2. Обращайтесь к событию MediaFailed, чтобы узнать, почему он не работает.

+1

Ты чудо-рок! Борьба с этим часами. –

+0

@Shawn Не стоит беспокоиться –

0

Одна вещи, которую я заметил, что, когда устройство привязанные к компьютеру Audio не работает ... Потратил пару часов с этим при попытке прослушать mp3 файлы.

+1

Используйте WPConnect.exe, а не Zune для подключения, если вы хотите получить доступ к медиа на устройстве при подключении к ПК. –

Смежные вопросы