亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 辦公 > Flash > 正文

flash中聲音控制實現代碼

2020-07-17 13:14:41
字體:
來源:轉載
供稿:網友
簡單播放音樂

1. 首先打開新的Flash文件, 把聲音導入庫中 (還摸不清介面的朋友就按ctrl+r)
2. 導入之后到庫中定義聲音的ID, 如圖:
*** 這里的ID和場景上的實體名是不一樣的 ***
3. 接下來就在第一幀編寫代碼, 如下
mySound = new Sound(); //定義聲音類
mySound.attachSound("tomato"); //提取庫中我們所設定的ID
mySound.start(); //開始播放聲音
4. 測試結果..

音樂的開始, 停止和循環
mySound.start([Secondsoffset], loop);
start當中的兩個參數分別為Secondsoffset, Seconds就是秒數而offset就是抵消或取消的意思...所以簡單的說就是取消開始播放,以秒數來計算... 沒有定義的話就是0, 另外一個loop就是循環了...
mySound.start(5, 99);
這個意思就是音樂從第5秒開始播放, 并循環99次, 這里提供了個例子為mySound.start(0,99);
點擊瀏覽該文件
mySound.stop();
mySound.stop("tomato"); //如果new Sound沒有定義的話就這樣使用, 不然多個聲音會全部停止
這個很簡單不用解釋了吧...就是停止音樂
我們看到某些網站所使用的一個按鈕控制播放和停止的效果就是使用這些就可以達成了, 如:
mySound = new Sound();
mySound.attachSound("tomato");
mySound.start(0,99); //音樂開始播放并循環99次
var music = true; //定義一個變量記錄目前音樂是否是在播放, 因為音樂已經播放所以設定為true
btn.onRelease = function() {
if(music) { //當變量為true時就表示音樂是在播放
mySound.stop(); //使用stop設定音樂停止
music = false; //變量記錄false為音樂停止
} else { //以下的和以上相反
mySound.start(0,99);
music = play;
}
}

setPan 和 setVolume
mySound.setPan(pan);
pan的值是介于 -100 到 100, 用意在于設定喇叭的平衡... -100為只能左邊的喇叭聽到聲音, 100為右邊的, 而0就是平衡點, 兩個喇叭都能聽到聲音
例如:
mySound = new Sound();
mySound.attachSound("tomato");
mySound.start(0, 10);
var speaker = -100; //變量設定為-100, 即是從左邊喇叭開始
mySound.setPan(speaker); //設定喇叭平衡
function pan() { //設定函數并通過setInterval每秒調整平衡
speaker += 20; //每秒平衡偏移20
mySound.setPan(speaker); //設定喇叭的平衡
if(speaker > 100) { //當音樂完全偏移到右邊喇叭播放的時候就停止
mySound.stop();
clearInterval(p);
}
}
var p = setInterval(pan, 1000); //開始每秒執行喇叭平衡
mySound.setVolume(volume);
volume為0 - 100, 0為靜音, 100為最大
mySound = new Sound();
mySound.attachSound("tomato");
mySound.start(0, 99);
var top = key.vol._y; //定義拖動按鈕的最高點
var left = right = key.vol._x; //定義拖動左右的范圍
var bottom = key.vol._y+100; //定義拖動按鈕的最低點
key.vol.onPress = function() {
this.startDrag(true,left,top,right,bottom); //按鈕按下拖動范圍
}
onEnterFrame = function() {
v = int(key.textInput.value.text); //取得輸入框內的值
mySound.setVolume(v); //設定音量
}

Position, Duration 和 暫停
mySound.position();
唯讀指令, 主要是取得目前播放音樂的毫秒數(1秒 = 1000毫秒), 在音樂播放之后才能夠取得, 在一開始start()之后使用是無法取得的
mySound.duration();
唯讀指令, 主要是取得音樂的總毫秒數 要使音樂暫停, 播放的時候再繼續之前暫停的位置開始播放, 我們可以先取得按鈕按下暫停時的position以取得位置, 然后再次按下播放的時候就使用start()當中的SecondsOffset使音樂從暫停的部分開始播放, 如:
mySound = new Sound();
mySound.attachSound("tomato");
var SecondsOffset = 0; //設定SecondsOffset為0
p1.onRelease = function() {
mySound.start(SecondsOffset, 0); //播放按鈕按下開始從0offset播放
}
p2.onRelease = function() {
SecondsOffset = mySound.position/1000; //暫停按鈕按下時記錄目前位置并換成秒數
mySound.stop(); //音樂暫停
}
onEnterFrame = function() { //這里是循環部分
if(mySound.position == mySound.duration) { //如果播放的毫秒數等于音樂總毫秒數
mySound.start(0, 99); //開始循環播放99次
}
}

只要會了以上的方法, 倒退播放和快速播放就非常簡單了, 如下:
1. 場景上建立兩個按鈕, 分別為(倒退 rev 和 快速播放 ff)
2. 在第一幀使用以下代碼 :

mySound = new Sound();
mySound.attachSound("tomato");
mySound.start();
var SecondsOffset = 0;
var reverse = foward = false; //設定倒退和前進變量為false
onEnterFrame = function () {
if (reverse && mySound.position > 0) { //當倒退按下且音樂秒數大于0
mySound.stop(); //音樂停止
SecondsOffset -= .5; //offset倒退0.5秒
mySound.start(SecondsOffset, 0); //音樂從倒退的0.5秒開始播放
}
if (foward && mySound.position <= mySound.duration) { //當快速播放按下且音樂不為結束
mySound.stop();
SecondsOffset += .5; //offset前進0.5秒
mySound.start(SecondsOffset, 0);
}
rev.onPress = function() { //當倒退按下并取得position
SecondsOffset = mySound.position/1000;
reverse = true; //reverse變量為true
};
rev.onRelease = function() { //當倒退放開就設定reverse變量為false
reverse = false;
}
ff.onPress = function() { //同上
SecondsOffset = mySound.position/1000;
foward = true;
};
ff.onRelease = function() {
foward = false;
}
};

至于loadSound部分就寫一下進度條的寫法
1. 在場景上建立一個為100%長度的MC(loadBar)
2. 在第一幀使用以下代碼 :
onLoad = function () {
mySound = new Sound();
mySound.loadSound("tomato.mp3"); //載入同一目錄中的MP3
var percent = 0; //%一開始為0
loadBar._xscale = percent; //進度條的寬度比例為percent
};
onEnterFrame = function () {
mySoundBytesTotal = mySound.getBytesTotal(); //取得文件的size
mySoundBytesLoaded = mySound.getBytesLoaded(); //取得目前文件所載入的size
percent = int(mySoundBytesLoaded/mySoundBytesTotal*100); //計算出文件所載入的比例
loadBar._xscale = percent; //設定進度條寬度比例
if (percent>=100) { //當完全載入之后
delete onEnterFrame; //刪除循環
mySound.start(); //音樂開始播放
}
};

Q1. 為何loadMovie當中的swf音樂無法播放?
ans: 只要在swf當中把 mySound = new Sound() 換成 mySound = new Sound(this) 就可以了
Q2. 為何不能同時設定兩首音樂不同的音量? ans: 一般你們會這樣使用AS
mySound1 = new Sound();
mySound1.attachSound("tomato1");
mySound1.start();
mySound2 = new Sound();
mySound2.attachSound("tomato2");
mySound2.setVolume(50); //另外一首音量為50
mySound2.start();
但這樣是錯誤的, 正確方法是分別把音樂分開在不同的層當中 :
mySound1 = new Sound(this);
mySound1.attachSound("tomato1");
mySound1.start();
createEmptyMovieClip("mc", 0);
mySound2 = new Sound(mc);
mySound2.attachSound("tomato2");
mySound2.setVolume(50);
mySound2.start();
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久国产精品www| 精品福利樱桃av导航| 97色伦亚洲国产| 日韩欧美a级成人黄色| 精品国产一区av| 永久免费精品影视网站| 日韩精品免费在线观看| 欧美性猛交xxxx免费看久久久| 亚洲美女www午夜| 欧美又大又粗又长| 91在线直播亚洲| 亚洲欧洲成视频免费观看| 亚洲精品美女免费| 555www成人网| 亚洲qvod图片区电影| 久久精品99久久久久久久久| 欧美日韩亚洲一区二区| 国产91在线播放九色快色| 日韩欧美在线视频免费观看| 午夜精品一区二区三区在线视频| 久久久久久久久久亚洲| 欧美xxxx18性欧美| 亚洲综合精品伊人久久| 国产成人精品在线播放| 国产91精品久久久久久| 日韩av在线高清| 日韩成人免费视频| 欧美三级欧美成人高清www| 91精品国产自产在线老师啪| 亚洲大胆人体在线| 欧美日韩激情小视频| 日本不卡免费高清视频| 日韩中文字幕亚洲| 亚洲精品福利在线| 日韩电影中文字幕| 国产精品极品美女在线观看免费| 97香蕉久久超级碰碰高清版| 久久久欧美精品| 中文字幕成人在线| 亚洲天堂av在线播放| 青青在线视频一区二区三区| 精品激情国产视频| 亚洲欧美日韩中文在线| 亚洲国产精品福利| 91精品国产综合久久久久久久久| 亚洲精品免费网站| 欧美激情精品久久久久久免费印度| 亚洲久久久久久久久久| 亚洲免费一在线| 日韩经典一区二区三区| 亚洲成人黄色网| 日韩精品中文字幕在线观看| 久久伊人精品一区二区三区| 人九九综合九九宗合| 精品一区二区三区四区在线| 亚洲欧洲国产精品| 亚洲国产精品字幕| 2019日本中文字幕| 在线视频中文亚洲| 日韩av大片免费看| 久久久999精品视频| 日本精品一区二区三区在线| 成人国产精品久久久久久亚洲| 欧美孕妇孕交黑巨大网站| 日韩欧美极品在线观看| 91超碰中文字幕久久精品| 亚洲国产精品久久久久久| 久久6免费高清热精品| 成人精品在线视频| 国产精品久久久久久久久粉嫩av| 伊人久久久久久久久久久久久| 日韩中文综合网| 日韩国产激情在线| 成人国内精品久久久久一区| 国内揄拍国内精品| 91免费的视频在线播放| 日本精品在线视频| 亚洲国产精品网站| 日韩三级影视基地| 国产福利精品av综合导导航| 自拍视频国产精品| 亚洲护士老师的毛茸茸最新章节| 国产精品久久久久91| 中文字幕在线看视频国产欧美在线看完整| 亚洲综合中文字幕在线观看| 日韩av免费在线看| 日韩中文av在线| 欧美激情一区二区三级高清视频| 久久精品中文字幕免费mv| 国产美女精品视频| 日本亚洲精品在线观看| 精品无人区乱码1区2区3区在线| 国产精品劲爆视频| 国内精品美女av在线播放| 久久亚洲综合国产精品99麻豆精品福利| 欧美午夜xxx| 日韩欧美a级成人黄色| 在线观看中文字幕亚洲| 国产999精品| 亚洲精品久久久久中文字幕欢迎你| 欧美日韩免费区域视频在线观看| 国产精欧美一区二区三区| 国产精品久久久| 亚洲成人免费在线视频| 国产精品日日摸夜夜添夜夜av| 国产视频福利一区| 日本久久久久久| 亚洲国产成人久久综合| 狠狠操狠狠色综合网| 96国产粉嫩美女| 97av在线视频免费播放| 亚洲国产小视频| 91高清视频在线免费观看| 在线日韩日本国产亚洲| 国产精品久久久久999| 久久香蕉国产线看观看网| 麻豆成人在线看| 精品视频在线播放色网色视频| 欧美大秀在线观看| 色www亚洲国产张柏芝| 日韩大片免费观看视频播放| 精品国产欧美一区二区五十路| 亚洲午夜小视频| 欧美一区第一页| 精品久久久久久久久久ntr影视| 日本19禁啪啪免费观看www| 这里只有精品视频在线| 色综合久久中文字幕综合网小说| 日韩女在线观看| 俺去亚洲欧洲欧美日韩| 日韩精品中文字幕在线观看| 92福利视频午夜1000合集在线观看| 精品视频9999| 日韩美女免费线视频| 国产精品美乳在线观看| 日韩在线视频二区| 亚洲天堂成人在线视频| 成人情趣片在线观看免费| 久久天天躁日日躁| 欧美精品日韩www.p站| 日韩av影视综合网| 伊人一区二区三区久久精品| 国产99久久精品一区二区 夜夜躁日日躁| 国产精品旅馆在线| 性欧美xxxx| 日韩成人久久久| 亚洲福利小视频| 亚洲高清不卡av| 欧美一区视频在线| 久久精品电影网| 亚洲成人网在线| 久久亚洲综合国产精品99麻豆精品福利| 亚洲精品久久久久久久久久久| 国产精品久久电影观看| 国内外成人免费激情在线视频网站| 久久精品99无色码中文字幕| 亚洲福利小视频| 亚洲视频视频在线| 亚洲第一精品夜夜躁人人躁| 亚洲新中文字幕| 亚洲男人天堂九九视频| 尤物精品国产第一福利三区| 中文字幕成人精品久久不卡| 成人在线视频网|