Проблема с файлом wav xaudio2 для Windows phone 8

Я хочу воспроизвести файл wav с помощью XAudio2, я искал в Интернете и имею несколько примеров таких проектов: C # XAudio2 Sound Playback для Windows Phone или это: Воспроизвести пример wav, но все те, кто воспроизводит специальные файлы wav, если я заменю свой wav (преобразованный в MS ADPCM, моно), тогда CreateSourceVoice вернет HRESULT 0x88960001. Так что же особенного в этих файлах wav? или любые другие методы воспроизведения файла Wav с помощью xaudio2 (я работаю на Windows Phone 8)


person Bình Nguyên    schedule 21.11.2013    source источник


Ответы (2)


Согласно этой статье, XAudio2 поддерживает только подмножество формата MS ADPCM: http://msdn.microsoft.com/en-us/library/windows/desktop/ee415711(v=vs.85).aspx

Вы должны использовать инструмент adpcmencode в Windows 8 SDK, чтобы сжать его во что-то полезное.

person Ehz    schedule 21.11.2013
comment
Большое спасибо, я потратил весь день, чтобы выяснить, что случилось, и теперь это решено! Еще раз спасибо;) - person Bình Nguyên; 21.11.2013

Поэтому стандартным способом воспроизведения как звуковых эффектов, так и фоновой музыки является использование библиотеки XNA.

Я написал сообщение в блоге о воспроизведении асинхронного звука в Windows Phone, которое довольно прямолинейно.

В основном это говорит об этом

using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework;

static Stream stream1 = TitleContainer.OpenStream("soundeffect.wav");
static SoundEffect sfx = SoundEffect.FromStream(stream1);
static SoundEffectInstance soundEffect = sfx.CreateInstance();

public void playSound(){
    FrameworkDispatcher.Update();
    soundEffect.Play();
}

Нет ничего проще. Чтобы узнать о конкретных требованиях к wav, просмотрите Страница MSDN для поддерживаемых форматов

Я также разместил рабочее решение для загрузки в своем блоге.

Удачи!

person Anthony Russell    schedule 21.11.2013
comment
Спасибо за быстрый ответ, но похоже, что XNA больше не разрабатывается, и я не могу добавить XNA в свой проект Windows Phone 8 с помощью NuGet :-( - person Bình Nguyên; 21.11.2013
comment
Да можно ... Вам просто нужно добавить ссылку на него. - person Anthony Russell; 21.11.2013
comment
XNA больше не разрабатывается Microsoft, но вы все еще можете использовать библиотеки. Там нет ничего плохого. - person Anthony Russell; 21.11.2013
comment