Запись звука PCM в Silverlight 4
Я столкнулся со странным поведением в приложении Silverlight и не смог решить его после многочасовой попытки.
Поскольку я не могу получить доступ
AudioFormat
внутренний конструктор в моем коде (даже использование отражения заставило политики безопасности silverlight вызвать исключение), Как я могу изменить аудиоформат (в моем классе, который получен изAudioSink
учебный класс. Прямо сейчас я переопределяю метод в моемMemoryAudioSink
Класс следующим образом:protected override void OnFormatChange(AudioFormat audioFormat) { if (this.audioFormat == null) { this.audioFormat = audioFormat; } else { throw new InvalidOperationException(); } }
Я не могу создать новый AudioFormat (отсутствует ctor), и AudioFomat по умолчанию имеет 16000 выборок в секунду, в которых нет установщика. Я хотел бы записывать и сохранять аудио в формате Mono (Channels = 1), 8 бит (Bits Per Sample = 8), 8k (Samples Per Second = 8000).
Кроме того, я использовал Cool Edit для успешной записи 8-битного звука 8k, чтобы убедиться, что моя звуковая карта поддерживает его.
Проще говоря, могу ли я записывать звук с помощью своего пользовательского AudioFormat или мне нужно записать звук в Silverlight, передать его в мой WebApp и преобразовать в свой пользовательский формат, используя стороннюю библиотеку (о которой я ничего не знаю)?
1 ответ
Эта ссылка может вам помочь: аудиозапись Silverlight 4 и загрузка на сервер Sry за мою глупость. Я не знаю, как форматировать код, в той ссылке, которую я вам дал, ищите строку AudioFormat wantedAudioFormat = null; иди туда, тебе нужен следующий foreach