Art_133
19.01.2009, 16:30
Здравствуйте.
Делаю видео плеер. За основу беру уроки с сайта gotoAndLearn.com.
Есть небольшая проблема которую я пока не знаю как решить.
Когда начинаешь перематывать видео ползунком то при его отпускании он немного смещается, а иногда даже сильно. Это можно видеть когда просто перетаскиваешь его по линие, а также это сильно видно когда его дотягиваешь до конца (и немного дальше протянуть, он останется у конца полосы а сама мышь уйдёт правее) - он не остаётся на необходимом месте, а двигается левее (иногда даже значительно левее).
Это можно глянуть по ссылке http://webtok.ru/Art/vid/
Надеюсь проблема ясна, если кто-нибудь знает прошу подсказать решение.
За ранее спасибо!
Прилагаю исходник и код
Stage.scaleMode = 'noScale';
setProperty('', _quality, 'BETS');
//
var playControl:Boolean = true;
var controll = player.controllPanel;// путь к панеле упревления видео потока
//
controll.loadStripe.loadBar.setMask(controll.loadStripe.masker);// маска для полосы загрузки
var pl:NetConnection = new NetConnection();
pl.connect(null);
var ns:NetStream = new NetStream(pl);
player.videoStream.vid.attachVideo(ns);
ns.play('vid10.flv');
//ns.play('http://webtok.ru/Art/vid/vid10.flv');
ns.pause(playControl);
// загрузчик
var loaderInterval = setInterval(loadStatus, 100);
var persentLoaded:Number;
var duration:Number;
ns.onMetaData = function(obj) {
duration = obj.duration;
};
function loadStatus() {
persentLoaded = ns.bytesLoaded / ns.bytesTotal;
controll.loadStripe.masker._width = persentLoaded * 313;
controll.loadStripe.drager._x = ns.time / duration * 313;
//controll.loadStripe.drager._x = ns.time / duration * 298 + 7;
controll.loadStripe.timeLine._x = controll.loadStripe.drager._x - 313;
}
// Полоса прокрутки
var dragerInterval;
player.controllPanel.loadStripe.drager.onPress = function() {
clearInterval(loaderInterval);
dragerInterval = setInterval(dragit, 10);
startDrag(this, false, 0, this._y, 313, this._y);
//startDrag(this, false, 7, this._y, 305, this._y);
};
player.controllPanel.loadStripe.drager.onRelease = player.controllPanel.loadStripe.drager.onReleaseOutside = function () {
clearInterval(dragerInterval);
loaderInterval = setInterval(loadStatus, 100);
this.stopDrag();
};
function dragit() {
ns.seek((player.controllPanel.loadStripe.drager._x / 313) * duration);
}
// Кнопки
//Play
controll.pl_but.onRelease = function() {
if (playControl) {
this.gotoAndStop(2);
playControl = false;
ns.pause(playControl);
} else {
this.gotoAndStop(1);
playControl = true;
ns.pause(playControl);
}
};
Делаю видео плеер. За основу беру уроки с сайта gotoAndLearn.com.
Есть небольшая проблема которую я пока не знаю как решить.
Когда начинаешь перематывать видео ползунком то при его отпускании он немного смещается, а иногда даже сильно. Это можно видеть когда просто перетаскиваешь его по линие, а также это сильно видно когда его дотягиваешь до конца (и немного дальше протянуть, он останется у конца полосы а сама мышь уйдёт правее) - он не остаётся на необходимом месте, а двигается левее (иногда даже значительно левее).
Это можно глянуть по ссылке http://webtok.ru/Art/vid/
Надеюсь проблема ясна, если кто-нибудь знает прошу подсказать решение.
За ранее спасибо!
Прилагаю исходник и код
Stage.scaleMode = 'noScale';
setProperty('', _quality, 'BETS');
//
var playControl:Boolean = true;
var controll = player.controllPanel;// путь к панеле упревления видео потока
//
controll.loadStripe.loadBar.setMask(controll.loadStripe.masker);// маска для полосы загрузки
var pl:NetConnection = new NetConnection();
pl.connect(null);
var ns:NetStream = new NetStream(pl);
player.videoStream.vid.attachVideo(ns);
ns.play('vid10.flv');
//ns.play('http://webtok.ru/Art/vid/vid10.flv');
ns.pause(playControl);
// загрузчик
var loaderInterval = setInterval(loadStatus, 100);
var persentLoaded:Number;
var duration:Number;
ns.onMetaData = function(obj) {
duration = obj.duration;
};
function loadStatus() {
persentLoaded = ns.bytesLoaded / ns.bytesTotal;
controll.loadStripe.masker._width = persentLoaded * 313;
controll.loadStripe.drager._x = ns.time / duration * 313;
//controll.loadStripe.drager._x = ns.time / duration * 298 + 7;
controll.loadStripe.timeLine._x = controll.loadStripe.drager._x - 313;
}
// Полоса прокрутки
var dragerInterval;
player.controllPanel.loadStripe.drager.onPress = function() {
clearInterval(loaderInterval);
dragerInterval = setInterval(dragit, 10);
startDrag(this, false, 0, this._y, 313, this._y);
//startDrag(this, false, 7, this._y, 305, this._y);
};
player.controllPanel.loadStripe.drager.onRelease = player.controllPanel.loadStripe.drager.onReleaseOutside = function () {
clearInterval(dragerInterval);
loaderInterval = setInterval(loadStatus, 100);
this.stopDrag();
};
function dragit() {
ns.seek((player.controllPanel.loadStripe.drager._x / 313) * duration);
}
// Кнопки
//Play
controll.pl_but.onRelease = function() {
if (playControl) {
this.gotoAndStop(2);
playControl = false;
ns.pause(playControl);
} else {
this.gotoAndStop(1);
playControl = true;
ns.pause(playControl);
}
};