Originariamente inviato da and80
Non so se potrebbe creare problemi, ma magari un suono mono potrebbe non poter gestire il pan (l'ho solo sparata eh...).
Grazie and80!
Credo che tu abbia proprio ragione!
Se uso Adobe Flash Media Live Encoder per acquisire il video e l'audio (selezionando nelle impostazioni l'audio stereo) funziona!
Io invece usavo questo codice:
codice:
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.events.NetStatusEvent;
import flash.media.Sound;
import flash.media.Camera;
import flash.media.Video;
import flash.media.Microphone;
import flash.media.SoundTransform;
import fl.motion.MotionEvent;
import flash.media.Microphone;
var serverURI:String=loaderInfo.parameters['server_ip'];
var nc:NetConnection=new NetConnection();
/* Oggetto per la pubblicazione dello stram in entrata */
var out_ns:NetStream;
/* Oggetto per la riproduzione dello stram in entrata */
var local_ns:NetStream;
var camera:Camera;
var microphone:Microphone;
/* Aggiunge i gestori necessari */
play_btn.addEventListener(MouseEvent.CLICK, playVideo);
connetti_btn.addEventListener(MouseEvent.CLICK, connectToServer);
nc.addEventListener(NetStatusEvent.NET_STATUS,netstat);
/* Setta i valori di default */
server_txt.text="rtmp://192.168.1.2/oflaDemo";
width_txt.text="800";
height_txt.text="600";
fps_txt.text="25";
kbyteRate_txt.text="200";
quality_txt.text="50";
function connectToServer(e:MouseEvent)
{
/* Visualizza dei messaggi di output nello stage */
status_txt.text="Connecting to Red5 Streaming Server " + server_txt.text + "...\n";
nc.connect(server_txt.text);
}
function netstat(stats:NetStatusEvent){
status_txt.appendText(stats.info.code);
status_txt.appendText("\n");
/* Se l'instaurazione della connessione è andata a buon fine */
if(stats.info.code=="NetConnection.Connect.Success"){
/* Abilita i pulsanti */
play_btn.enabled=true;
/* Acquisisce video e audio */
camera=Camera.getCamera();
camera.setMode(Number(width_txt.text), Number(height_txt.text), Number(fps_txt.text));
camera.setQuality(Number(kbyteRate_txt.text)*1024,Number(quality_txt.text));
microphone=Microphone.getMicrophone();
/* Sperando che così sia in stereo */
microphone.rate=44;
/* Inizializza gli oggetti NetStream */
out_ns = new NetStream(nc);
local_ns = new NetStream(nc);
status_txt.appendText("[INFO] Connected to Red5 Streaming Server\n");
}else{
status_txt.appendText("[ERROR]");
status_txt.appendText(stats.info.code);
}
}
function playVideo(e:MouseEvent)
{
local_ns.attachAudio(microphone);
local_ns.attachCamera(camera);
my_video.attachNetStream(local_ns);
out_ns.attachAudio(microphone);
out_ns.attachCamera(camera);
out_ns.publish("livestream");
local_ns.play("livestream");
}
con cui invece non riesco a catturare l'audio in stereo.
Qualche idea su come fare?