Запись звука PCM в Silverlight 4 - PullRequest
       30

Запись звука PCM в Silverlight 4

1 голос
/ 24 августа 2011

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

1 Ответ

0 голосов
/ 07 сентября 2011

Эта ссылка может вам помочь: Запись звука Silverlight 4 и загрузка на сервер Прошу прощения за мою глупость. Я не знаю, как форматировать код, в той ссылке, которую я вам дал, ищите строку AudioFormat wantedAudioFormat = null;иди туда, тебе нужен следующий foreach

...