![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2007
Сообщений: 232
|
Добрый день!
У меня задача. Нужно отображать уровень амплитуды всех звуков воспроизводимых флеш-плеером. Задача элементарная, но не в моем случае. Звук приходит через NetSteam с медиа сервера. И SoundMixer.computeSpectrum() - не содержит аудио-сигнала. Подскажите, это нереальная задача? |
|
|||||
|
Modus ponens
|
http://www.actionscript.org/forums/s...=228178&page=2
Вот, посмотрите, тут есть нечто оооочень отдаленно похожее... Но, вообще, в принципе, получить "сырую" информацию из NetStream нельзя, но, я думаю, что могут быть 2 варианта.. 1. Я слышал, что такое можно сделать с RED5 - вместо того, чтобы посылать информацию "на чтение", писать ее в RemoteObject, и самому имитировать буферизацию, чтение и т.д... на первый взгляд очень муторно, на второй - даже не стал смотреть. 2. Мне где-то на sourceforge попадался проект читающий RTMP, т.е. можно попробовать подключиться с помощью, например URLStream, имитировать NetConnection и если в десятке, то почти синхронно (с небольшой задержкой) скармливать полученую информацию SampleEvent'у... На первый взгляд очень муторно... И вообще, если чесно, то я не совсем представляю, что именно нужно проделать со звуковым файлом, чтобы получить то, что выдает SoundMixer... но мне кажется, что это будет довольно много рассчетов... Так что скорее всего нужно как-то искать способ снимать эту информацию с играющего звука (Sound), а не считать самому... Но это все догадки.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 428
|
Через RTMP официально невозможно получать сырые данные. В случае FMS используйте
Client.audioSampleAccess clientObject.audioSampleAccess Enables Flash Player to access raw, uncompressed audio data from streams in the specified folders. Call the SoundMixer.computeSpectrum() method in client-side ActionScript 3.0 to read the raw sound data for a waveform that is currently playing. For more information, see the SoundMixer.computeSpectrum() entry in the ActionScript 3.0 Language and Components Reference and “Accessing raw sound data” in Programming ActionScript 3.0. Availability Flash Media Interactive Server 3 and Flash Media Development Server 3 Example The following server-side code sets the audioSampleAccess directory to publicdomain : Добавлено через 3 минуты Пример из хелпа application.onConnect = function(client) { // Anyone can play free content, which is all streams placed under the // samples/, publicdomain/ and contrib/ folders. client.readAccess = "samples;publicdomain;contrib"; // Paying customers get to watch more streams. if ( isPayingCustomer(client)) client.readAccess += "nonfree;premium"; // Content can be saved (user recorded streams) to contrib/ folder. client.writeAccess = "contrib"; // Anyone can gain access to an audio snapshot of the publicdomain/ folder. client.audioSampleAccess = "publicdomain"; // Paying customers can also get a video snapshot of the publicdomain/ folder. if (isPayingCustomer(client)) client.videoSampleAccess = "publicdomain"; }
__________________
Скажи мне кто твой друг и я скажу тебе кто твой друг Последний раз редактировалось leofit; 29.01.2010 в 11:40. |
|
|||||
|
Регистрация: May 2007
Сообщений: 232
|
Cпасибо большое за помощь. Теперь есть надежда.
Пробую, но только пока не получается. По идее все просто как "двери", но активизиация client.audioSampleAccess ничего не дает. Не могу понять, что делаю неверно. Как я понимаю не имеет значения - аудио поток передается другим пользователем или считывается с сервера в виде звукового файла? |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:32. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|