Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.01.2010, 17:05
Роман Вадимович вне форума Посмотреть профиль Отправить личное сообщение для Роман Вадимович Найти все сообщения от Роман Вадимович
  № 1  
Ответить с цитированием
Роман Вадимович

Регистрация: May 2007
Сообщений: 232
Question Уровень амплитуды звука

Добрый день!

У меня задача. Нужно отображать уровень амплитуды всех звуков воспроизводимых флеш-плеером.
Задача элементарная, но не в моем случае.
Звук приходит через NetSteam с медиа сервера. И SoundMixer.computeSpectrum() - не содержит аудио-сигнала.

Подскажите, это нереальная задача?

Старый 29.01.2010, 02:07
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
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

Старый 29.01.2010, 11:36
leofit вне форума Посмотреть профиль Отправить личное сообщение для leofit Найти все сообщения от leofit
  № 3  
Ответить с цитированием
leofit
 
Аватар для leofit

Регистрация: 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 минуты
Пример из хелпа


Код AS3:
 
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.
Старый 29.01.2010, 14:06
Роман Вадимович вне форума Посмотреть профиль Отправить личное сообщение для Роман Вадимович Найти все сообщения от Роман Вадимович
  № 4  
Ответить с цитированием
Роман Вадимович

Регистрация: May 2007
Сообщений: 232
Cпасибо большое за помощь. Теперь есть надежда.
Пробую, но только пока не получается. По идее все просто как "двери", но активизиация client.audioSampleAccess ничего не дает. Не могу понять, что делаю неверно.
Как я понимаю не имеет значения - аудио поток передается другим пользователем или считывается с сервера в виде звукового файла?

Создать новую тему Ответ Часовой пояс GMT +4, время: 18:32.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 18:32.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.