本文目錄一覽:
JS網頁播放器的進度條究竟怎麼做 高分求原理及代碼 100分
你用的是wmp控制項的話,可以參考如下屬性:
controls.currentPosition
這個屬性可以用來控制當前歌曲播放的進度,可寫,比如設置
document.getElementById(“wmpid”).controls.currentPosition = 18
就是將當前歌曲進到18秒,我沒有試過非整數部分可不可以生效(應該是可以的)
controls.currentPositionString
這是個只讀屬性。比如當前歌曲在18秒出則值為00:18.
至於你說的進度條,控制起來是用event.clientX屬性,這是滑鼠相對於窗口的橫坐標。用這個數字減去那個進度條DIV的clientX屬性就是滑鼠在進度條上的位置。你自己可以作些加減微調確保結果適當。如果寬度100px,你點的位置是40px.那麼用40/100*歌曲長度就是當前應該跳轉到的位置了。
加入滑塊也很簡單,網上有很多drag類,加一個進去稍微調整一下就比較好了
順便也貼一下wmp組件的基本屬性吧,LZ如果沒有的話可以稍微參考一下
URL:String; 指定媒體位置,本機或網路地址
uiMode:String; 播放器界面模式,可為Full, Mini, None, Invisible
playState:integer; 播放狀態,1=停止,2=暫停,3=播放,6=正在緩衝,9=正在連接,10=準備就緒
enableContextMenu:Boolean; 啟用/禁用右鍵菜單
fullScreen:boolean; 是否全屏顯示
[controls] wmp.controls //播放器基本控制
controls.play; 播放
controls.pause; 暫停
controls.stop; 停止
controls.currentPosition:double; 當前進度
controls.currentPositionString:string; 當前進度,字元串格式。如「00:23」
controls.fastForward; 快進
controls.fastReverse; 快退
controls.next; 下一曲
controls.previous; 上一曲
[settings] wmp.settings //播放器基本設置
settings.volume:integer; 音量,0-100
settings.autoStart:Boolean; 是否自動播放
settings.mute:Boolean; 是否靜音
settings.playCount:integer; 播放次數
[currentMedia] wmp.currentMedia //當前媒體屬性
currentMedia.duration:double; 媒體總長度
currentMedia.durationString:string; 媒體總長度,字元串格式。如「03:24」
currentMedia.getItemInfo(const string); 獲取當前媒體信息”Title”=媒體標題,”Author”=藝術家,”Copyright”=版權信息,”Description”=媒體內容描述,”Duration”=持續時間(秒),”FileSize”=文件大小,”FileType”=文件類型,”sourceURL”=原始地址
currentMedia.setItemInfo(const string); 通過屬性名設置媒體信息
currentMedia.name:string; 同 currentMedia.getItemInfo(“Title”)
[currentPlaylist] wmp.currentPlaylist //當前播放列表屬性
currentPlaylist.count:integer; 當前播放列表所包含媒體數
currentPlaylist.Item[integer]; 獲取或設置指定項目媒體信息,其子屬性同wmp.currentMedia
播放器界面做的很不錯,請繼續努力
——
問題補充:
那麼 wmp在Firefox下如何控制?
—–
目前我所知道的firefox下同樣支持以上屬性。只是調用時候要這樣object type=”application/x-ms-wmp”,其他都相同。我用的是firefox3.6,安裝了wmp擴展控制項。沒有安裝的用戶可能不能正常瀏覽你的頁面。
另外在測試的時候發現直接在原來的object里添加type屬性不行,但是用一個新的object可以,原因未知。我想是不是不認clsid的問題。如果真是這樣,可能需要用程序判斷瀏覽器然後動態寫入相應的object元素?
另外查找資料的時候發現了這篇文章
可以作為參考
以上
js中怎麼讓程序暫停時間?
非同步執行的函數需要使用回調來獲取返回值你那種想等待回調函數執行後再把結果作為返回值的想法是無法實現,並且是極不可取的因為你並不知道需要多久該回調函數才能執行,讓主線程阻塞在這兒等待不是一個正確的做法。
正確的做法還是在回調函數中獲得值進行處理推薦寫法:
var addre =””;var bm = new BMap.Map(“container”);gpsxy = function (xx,yy,i,callback){//添加一個參數作為回調函數,該函數可以獲取addre參數
var gpsPoint = new BMap.Point(xx,yy);
bm.clearOverlays(); var marker = new BMap.Marker(gpsPoint); bm.addOverlay(marker);
bm.setCenter(gpsPoint); var gc = new BMap.Geocoder();
gc.getLocation(gpsPoint, function(rs){ var addComp = rs.addressComponents;
addre = addComp.province + “, ” + addComp.city + “, ” + addComp.district + “, ” + addComp.street + “, ” + addComp.streetNumber; check();
if(callback) callback(addre);//把addre傳遞到回調函數中,這樣就可以在函數外部使用返回值了 }); }
調用示範:gpsxy(10,10,1,function(addre){ alert(addre);//這兒就可以使用這個值了 });
JavaScript裡面的double型變數是什麼?
雙浮點數,就是小數點後支持的數位比單浮點數多得多。
但JS是弱類型語言,這個不是很重要,只要像一般的就可。
js中計算double類型
可以參考以下的方法:
javascript中如果一個變數的值是字元串,且裡面的值是數字類型的,就可以直接用這個變數乘1,就可以將它變成數值類型了。
例如
var str = “12.2365”;
就可以用它乘1
var value = str*1;
這個value就是需要的數值類型的了
擴展資料:
double數據類型
double(雙精度浮點型)是計算機使用的一種資料型別。
比起單精度浮點數(float),double(雙精度浮點數)使用 64 位(8位元組) 來儲存一個浮點數。 它可以表示十進位的15或16位有效數字,負值取值範圍為 -1.7976E+308 到 -4.94065645841246544E-324,正值取值範圍為 4.94065645841246544E-324 到 1.797693E+308
參考資料來源:百度百科-double
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/288505.html