# Flv not visible in firefox (but can hear it!)

**URL:** <https://forum.kirupa.com/t/flv-not-visible-in-firefox-but-can-hear-it/224559>\
**Category:** Uncategorized\
**Created:** [May 3, 2007, 9:30am UTC](https://forum.kirupa.com/t/flv-not-visible-in-firefox-but-can-hear-it/224559 "2007-05-03T09:30:42Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![chaponnel](https://avatars.discourse-cdn.com/v4/letter/c/a6a055/32.png) [@chaponnel](https://forum.kirupa.com/u/chaponnel)\
**Post date:** [May 3, 2007, 9:30am UTC](https://forum.kirupa.com/t/flv-not-visible-in-firefox-but-can-hear-it/224559/1 "2007-05-03T09:30:42Z")

</div>

hi everyone

i have a really strange problem with my streaming flv. its not visible in firefox or 2.0.0.3 on winxp sp2 but the audio starts right away. on other browsers it buffers for some seconds and then commences as it does locally.

attached the useful code snippet. should i change something???

many thanks!

// 3a) the main net connection object:  
var nc:NetConnection = new NetConnection();  
nc.connect(null);  
var my\_ns:NetStream;  
var my\_ns:NetStream = new NetStream(nc);  
my\_ns.setBufferTime(30);  
my\_ns.onStatus = function(info) {  
if (info.code == “NetStream.Buffer.Full”) {  
bufferClip.\_visible = false;  
}  
if (info.code == “NetStream.Buffer.Empty”) {  
bufferClip.\_visible = true;  
}  
if (info.code == “NetStream.Play.Stop”) {  
my\_ns.seek(0);  
}  
};  
this.createEmptyMovieClip(“vSound”, this.getNextHighestDepth());  
var sound:Sound = new Sound(vSound);  
var listenerObject:Object = new Object();  
// 3d) listData is the array used as the data provider for the List component  
var listData:Array = new Array();  
// 3e) the XML Object that will hold the track information  
var videoListXml:XML;  
/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
(10)----XML Object definitions  
\***_/  
//the callback function triggered by the XML onLoad event  
function loadXML(loaded) {  
if (loaded) {  
traceIt = “media loaded”;  
xmlNode = this.firstChild;  
header = [];  
description = [];  
path = [];  
total = xmlNode.childNodes.length;  
for (i=0; i\<total; i++) {  
header = xmlNode.childNodes.attributes.title;  
description = xmlNode.childNodes.attributes.description;  
path = xmlNode.childNodes_.attributes.url;  
videoMenu(i);  
}  
previousBtn = previousBtnValue;  
nextBtn = nextBtnValue;  
pauseBtn = pauseBtnValue;  
resumeBtn = resumeBtnValue;  
muteBtn.\_visible = true;  
maxBtn.\_visible = true;  
btnNext.\_visible = true;  
btnPrevious.\_visible = true;  
loader.\_visible = true;  
volume\_mc.\_visible = true;  
firstVideo();  
traceIt = “”;  
} else {  
traceIt = “media not loaded!”;  
}  
}  
videoListXml = new XML();  
videoListXml.ignoreWhite = true;  
//specify which function to handle on load event  
videoListXml.onLoad = loadXML;  
videoListXml.load(“xml/video.xml”);  
/**  
(9) - The core function: doPlay()  
doPlay() clears old Sound object, creates a new one and starts it playing;  
It also checks the value of the “continuous” variable, and either calls  
the next() function or clears the Sound Object when the current track  
finishes playing  
\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/  
function doPlay() {  
//we always want to start with a fresh NetStream object,  
//so initialize the environment:  
clearInterval(videoInterval);  
clearInterval(timeInterval);  
my\_ns.stop();  
displayDuration\_txt.text = “”;  
displayPosition\_txt.text = “”;  
//initialization is finished; now start from scratch  
theVideo.attachVideo(my\_ns);  
my\_ns.play(path[p]);  
nowPlaying = header[p];  
nowPlayingDescription = description[p];  
//set volume  
[//this.createEmptyMovieClip](https://this.createEmptyMovieClip)(“vSound”, this.getNextHighestDepth());  
btnPause.\_visible = true;  
btnPlay.\_visible = false;  
vSound.attachAudio(my\_ns);  
volume\_mc.slider\_mc.\_x = (Math.floor((volume\_mc.\_width+20)/2));  
theStatus.playingPausing.videoStatus = playingStatus;  
//create the setInterval functions that display time data  
var videoInterval = setInterval(videoStatus, 100, my\_ns);  
//var timeInterval:Number = setInterval(checkTime, 100, my\_ns);  
my\_ns.onMetaData = function(obj) {  
duration = obj.duration;  
var Dminutes:Number = Math.floor(duration/60);  
var Dseconds = Math.floor(duration%60);  
if (duration\<10) {  
Dseconds = (“0”+duration);  
}  
displayDuration\_txt.text = Dminutes+":"+Dseconds;  
};  
//what to do when tune ends, clean up stuff from previous song  
listenerObject.complete = function(eventObject:Object):Void {  
//clean up:  
//1. clear the text fields  
displayDuration\_txt.text = “”;  
displayPosition\_txt.text = “”;  
//2. stop the setIntervals  
clearInterval(videoInterval);  
clearInterval(timeInterval);  
//3. delete existing Sound object  
my\_ns.pause();  
sound.stop();  
delete my\_ns;  
//4. reset the pausebtn visiblility  
pauseBtn.\_visible = false;  
playBtn.\_visible = true;  
};  
my\_ns.addEventListener(“complete”, listenerObject);  
}  
function firstVideo() {  
p = 0;  
doPlay();  
}
