Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Запись звука посредством FMS (http://www.flasher.ru/forum/showthread.php?t=96370)

jaydee 29.05.2007 18:08

Запись звука посредством 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, где много исходников...?

Аркади 05.06.2007 16:00

Asynchronous I/O operation failed (Failed to attach to completion port: Параметр задан неверно. 87)

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

jaydee 09.06.2007 15:16

Эта проблема уже решена. Кто-нибудь может помочь разобратся, почему FMS не записывает звук?

alexcon314 09.06.2007 15:31

У меня работало с attachAudio а не attachSound
Код:

srcStream.attachAudio(Microphone.get());
srcStream.publish("alexcon", "record");

Причем на сервере, кроме как создать "комнату", я вообще ничего не писал. Все работало.

jaydee 11.06.2007 15:39

Респект! Все заработало!!!


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

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