буфер микрофона становится равным 0 после нажатия клавиши возврата устройства в WP7 - PullRequest
0 голосов
/ 03 марта 2011

У меня есть объект для записи звука.Мой массив байтовых буферов дает мне правильный результат, если я нахожусь в том же файле xaml.

Но как только я нажимаю клавишу возврата и снова захожу на ту же страницу, буфер содержит 0 в каждом элементе массива.

В конструкторе у меня есть следующий код:

this.microphone.GetData(buffer);

В обработчике нажатий кнопок у меня есть следующий код:

// Stop previously running microphone
if (this.microphone.State == MicrophoneState.Started)
{
    this.microphone.Stop();
}

// Clear previous content of microphone

this.microphone.BufferDuration = TimeSpan.FromMilliseconds(1000);

this.microphone.Start();

// Store recorded audio
 this.buffer = new byte[this.microphone.GetSampleSizeInBytes(this.microphone.BufferDuration)];

Есть ли проблемы сиспользуя класс микрофона?Это очищается или что после прихода с устройства назад нажать кнопку?

Заранее спасибо.Пожалуйста, дайте мне знать, если есть какие-либо сомнения в этом вопросе.

1 Ответ

0 голосов
/ 03 марта 2011

Если вы включите микрофон на странице, а затем отойдете назад от нее, эта страница будет уничтожена вместе с любой буферизованной записью. Когда вы в следующий раз перейдете на эту страницу, будет создан ее новый экземпляр вместе с новым микрофоном (и потоком / буфером).

Это ваш сценарий?

На вашем месте я бы создал микрофон на уровне приложения, чтобы на него не влияла навигация по страницам в приложении.

...