Я столкнулся со странным поведением в приложении Silverlight и не смог решить его после многочасовой попытки.
Поскольку я не могу получить доступ к внутреннему конструктору AudioFormat
в моем коде (даже при использовании отражения политики безопасности silverlight вызвали исключение), Как я могу изменить аудиоформат (в моем классекоторый является производным от класса * 1006. * Прямо сейчас я переопределяю метод в своем классе 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 и преобразовать в свой пользовательский формат, используя стороннюю библиотеку (о которой я ничего не знаю)?