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

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.05.2007, 18:08
jaydee вне форума Посмотреть профиль Отправить личное сообщение для jaydee Найти все сообщения от jaydee
  № 1  
Ответить с цитированием
jaydee
[+ 3 29.06.06]

Регистрация: Jan 2006
Сообщений: 38
Отправить сообщение для jaydee с помощью ICQ
Question Запись звука посредством FMS

Только недавно начал работать с FMS, поэтому не судите строго. Хочу начать с того, после установки FMS сразу же столкнулся с проблемой, которую очень долго не мог решить. Возможно именно решение этой проблемы создает мне сейчас проблемы с записью видео и звука на сервере. А именно, при попытке коннекта флэшки к приложению на сервере, трэйсится ошибка: NetConnection.Connect.Failed, а в логе на сервере появляется:
Цитата:
Asynchronous I/O operation failed (Failed to attach to completion port: Параметр задан неверно. 87)
Перепробовал все возможные варианты:
rtmp://localhost/my_app
rtmp://127.0.0.1/my_app
rtmp:/127.0.0.1/my_app
rtmp:/my_app
Но все равно ничего не помогло. Уже вроде открыл 1935 порт, отключил брэндмауэр и антивирусное ПО, но все равно ничего не работало. Причем что самое интересное, если подключатся так:
Код:
my_nc.connect("rtmp://localhost:1111","login","pass");
т.е. к админке, то проблем с подключением не возникает. Решение проблемы нашел тут на форуме FMS (Adobe). Работающим вариантом оказался именно этот:
rtmpt://localhost:1935/myApp
т.е. туннелинг rtmp через http.
Простестил два примера приложений от Macromedia (tutoria_textchat и tutorial_hello), все работает (через указанный выше коннект), остальные пока не пробовал.

Теперь пытаюсь записывать звук через FMS.
Код во флэшке.
Код:
stop();
var my_nc:NetConnection = new NetConnection();
my_nc.connect("rtmpt://localhost:1935/recordApp");
my_nc.onStatus = function(infoObject:Object) {
	trace("Connection status.");
	trace("Event: " + infoObject.code);
	trace("Type: " + infoObject.level);
	trace("Message:" + infoObject.description);
};
var my_ns:NetStream = new NetStream(my_nc);
var active_mic:Microphone = Microphone.get();
my_ns.attachSound(active_mic);
my_ns.publish("myAudio","record");
my_ns.onStatus = function(infoObject:Object) {
        trace("NetStream.onStatus called: ("+getTimer()+" ms)");
        for (var prop in infoObject) {
            trace("\t"+prop+":\t"+infoObject[prop]);
        }
};
Код в приложении на сервере.
Код:
application.onConnect = function(newClient) {
	application.acceptConnection(newClient);
	s = Stream.get("myAudio");
	if (s) {
		s.record();
	};
}
В итоге получаю трэйс во флэше:
Цитата:
Connection status.
Event: NetConnection.Connect.Success
Type: status
Message:Connection succeeded.

NetStream.onStatus called: (1257 ms)
clientid: 74115528
description: myAudio is now published.
code: NetStream.Publish.Start
level: status

NetStream.onStatus called: (1257 ms)
clientid: 74115528
description: Stopped recording myAudio.
code: NetStream.Record.Stop
level: status
В админке вижу два потока к моему приложению:
Цитата:
Name: myAudio
Type: Live
Client Id: rAAA0hqE
Status: Publishing

Name: DBAA0hqE
Type: NetStream
Properties:
Name: myAudio
Status: Publishing
Client: rAAA0hqE
После того, как закрываю флэшку, остается только первый Stream. Но звук не записывается. Почему?
Возможно я что-то делаю не так (т.е. ошибка именно в коде). Помогите разобратся. Но если делаю правильно, то почему не записывается? Может потому что приходится коннектится через туннелинг (RTMPT)?
Всем заранее спасибо за помощь.
P.S. может кто подскажет хороший сайт для FMS, где много исходников...?


Последний раз редактировалось jaydee; 29.05.2007 в 18:13.
Старый 05.06.2007, 16:00
Аркади вне форума Посмотреть профиль Отправить личное сообщение для Аркади Найти все сообщения от Аркади
  № 2  
Ответить с цитированием
Аркади

Регистрация: Mar 2003
Сообщений: 26
Asynchronous I/O operation failed (Failed to attach to completion port: Параметр задан неверно. 87)

скорее всего из-за антивируса

Старый 09.06.2007, 15:16
jaydee вне форума Посмотреть профиль Отправить личное сообщение для jaydee Найти все сообщения от jaydee
  № 3  
Ответить с цитированием
jaydee
[+ 3 29.06.06]

Регистрация: Jan 2006
Сообщений: 38
Отправить сообщение для jaydee с помощью ICQ
Эта проблема уже решена. Кто-нибудь может помочь разобратся, почему FMS не записывает звук?

Старый 09.06.2007, 15:31
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 4  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
У меня работало с attachAudio а не attachSound
Код:
srcStream.attachAudio(Microphone.get());
srcStream.publish("alexcon", "record");
Причем на сервере, кроме как создать "комнату", я вообще ничего не писал. Все работало.

Старый 11.06.2007, 15:39
jaydee вне форума Посмотреть профиль Отправить личное сообщение для jaydee Найти все сообщения от jaydee
  № 5  
Ответить с цитированием
jaydee
[+ 3 29.06.06]

Регистрация: Jan 2006
Сообщений: 38
Отправить сообщение для jaydee с помощью ICQ
Респект! Все заработало!!!

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

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

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


 


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


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