Я буду стараться изо всех сил, чтобы четко ответить.
1) Когда вы подключаетесь к серверу, как заставить его записывать аудио с флэш-клиента?
Прежде всего, вам необходимо знать соединение между сервером и используемым клиентом протоколом, таким как RTMP .Поэтому на стороне сервера нам нужно настроить наш адрес как rtmp://127.0.0.1/demoServer
(в red5 demoServer - имя вашего приложения).Далее, со стороны Flash, мы можем подключить сервер с помощью NetConnection :
import flash.net.NetConnection;
public var nc:NetConnection;
nc = new NetConnection();
nc.connect("rtmp://127.0.0.1/demoServer");
Я могу точно сказать, что 80% работы выполняются на стороне Flash-клиента.Для захвата голоса нам нужно настроить наш Микрофон :
import flash.media.Microphone;
public var mic:Microphone;
mic = Microphone.getMicrophone();
После этого нам понадобится канал для передачи голоса, снятого с микрофона.К счастью, у нас есть NetStream :
import flash.net.NetStream;
private var stream:NetStream;
var sm:NetStream=new NetStream(nc);
stream.attachAudio(mic);
Соединение, похожее на построение моста, чтобы поток мог переносить данные из клиента на сервер.ОК, последнее, что нам нужно сделать, это publish :
stream.publish("some name","record");
Теперь вы можете увидеть файл .flv с именем some name
на стороне сервера.Этот файл станет больше, если вы откроете микрофон.
2) Через 30 секунд, как остановить запись и сохранить файл в определенной папке на сервере?
Создайте 30 секундный таймер, который начинается при записи.Закрытие потока Когда время истекло:
import flash.utils.Timer;
t = new Timer(1000, 30);
t.addEventListener(TimerEvent.TIMER_COMPLETE, timerComplete);
private function timerComplete(event:TimerEvent):void{
//close the stream
stream.close();
mic.setSilenceLevel(0);
}
По умолчанию red5 сохранит файл в \webapps\dictRed5Server\streams
.Если вы хотите изменить это, проверьте это guide .
3) Как переместить этот файл в папку HTTP сервера, чтобы я мог получить к нему доступ издомашняя страница после этого?
Red5 может работать вместе с Apache Tomcat, и вы можете использовать проигрыватель FLV для воспроизведения этих записей.
Надеюсь, приведенные выше фрагменты могут вам помочь.Я предлагаю вам установить Red5 и запустить несколько демонстраций и Google, что вы не понимаете.