EventDispatcher->Object子類SoundAssetSound類能使你在程序中使用聲音,Sound類能讓你創(chuàng)建一個新的聲音對象,在這個對象中載入和播放外部的mp3文件(還是只有mp3啊),關閉聲音流,并訪問聲音信息,如聲音流的大小以及ID3信息.有關控制聲音的更多細節(jié)請參考Soundc" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

AS3的Sound類[語法參考]

系統(tǒng) 1945 0

今天把官方的語法幫助翻譯一下,幫助自己學習

Class Sound
Sound類

封裝包 flash.media
類 ?? ??? 全局Sound類(不知道咋翻譯了)
繼承 ?? Sound -> EventDispatcher ->Object
子類 ?? SoundAsset

Sound類能使你在程序中使用聲音,Sound類能讓你創(chuàng)建一個新的聲音對象,在這個對象中載入和播放外部的mp3文件(還是只有mp3啊),關閉聲音 流,并訪問聲音信息,如聲音流的大小以及ID3信息.有關控制聲音的更多細節(jié)請參考Soundchannel對象與Microphone對象,這些對象能 通過SoundTransform對象的屬性來控制輸出到計算機揚聲器的音頻信號.

要控制swf文件中的聲音,使用SoundMixer類中的屬性.

提醒:AS3.0的API與2.0不同,在ActionScript3.0中,您無法通過將Sound對象置于層中來控制它們的屬性.

當您使用這個類時,請注意Flash Player安全沙箱:

  • 如果swf文件處在網(wǎng)絡沙箱內,而欲加載的聲音文件是本地的,那么加載與播放將不允許
  • 默認條件下,本地的swf文件不允許加載或播放網(wǎng)絡中的聲音.用戶必須通過授權來準許訪問
  • 上述對聲音的操作將受到限制.當前域中swf文件將無權讀取其他域中的聲音數(shù)據(jù),但您可以制定一個跨域規(guī)則在受限區(qū)域中無效的與 sound相關的API有Sound.id3,SoundMixer.computeSpectrum(), SoundMixer.bufferTime和SoundTransform對象



公用屬性:
bytesLoaded:uint(16位無符號整數(shù))
[只讀]返回當前聲音對象的可用字節(jié)數(shù)

bytesTotal:int
[只讀]返回聲音對象的總字節(jié)數(shù)

id3:id3信息
[只讀]為讀取mp3文件中的metadata提供訪問方法

isBuffering:布爾
[只讀]返回外部mp3文件的緩沖狀態(tài)

length:number(數(shù)值)
[只讀]以微秒表示的當前聲音長度

url:String(字符串)
[只讀]讀取的聲音來源

公用方法:
Sound(stream:URLRequest = null, context:SoundLoaderContext = null)
創(chuàng)建一個新的Sound對象.

close():void
關閉音頻流,會導致所有的下載數(shù)據(jù)的丟棄.

load(stream:URLRequest, context:SoundLoaderContext = null):void
初始化外部mp3文件的加載.

play(startTime:Number = 0, loops:int = 0, sndTransform:SoundTransform = null):SoundChannel
生成一個新的SoundChannel對象來進行回放.

Events事件:
complete 當數(shù)據(jù)成功加載時被發(fā)送.
id3 ?? ?? ?? 當MP3聲音的ID3數(shù)據(jù)可用時被發(fā)送.
ioError ?? 當輸入輸出錯誤導致加載失敗時被發(fā)送.
open ?? ?? 當加載操作開始時被發(fā)送.
progress 當加載操作正在進行且受到數(shù)據(jù)時被發(fā)送.

屬性細節(jié):
bytesLoaded 屬性

bytesLoaded:uint?? [只讀]
返回當前聲音對象的可用字節(jié)數(shù).常常只用于外部加載.

Implementation (實現(xiàn))
public function get bytesLoaded():uint


bytesTotal 屬性

bytesTotal:int?? [只讀]
返回當前聲音對象的總字節(jié)數(shù).

Implementation (實現(xiàn))
public function get bytesTotal():int

id3 屬性

id3:ID3Info?? [只讀]
提供訪問mp3文件元數(shù)據(jù)的方法.

Mp3聲音文件可包含ID3標簽,ID3標簽提供文件的元數(shù)據(jù).如果一個你使用Sound.load()方法加載的mp3文件包含了ID3標簽,你可以查詢這些屬性.只有使用UTF-8編碼的ID3標簽能夠被支持.
Flash Player 9以及后續(xù)版本支持ID3 2.0標簽,特別是2.3和2.4.下面的表格列出了標準的ID3 2.0標簽與表示標簽內容的格式.Sound.id3屬性提供了讀取這些標簽的格式,如 my_sound.id3.COMM,my_sound.id3.TIME等等.第一個表中描述的標簽能夠通過ID3 2.0的屬性名和動作腳本的屬性名來訪問.第二張表中描述的ID3標簽雖然被支持但在動作腳本中沒有預先定義

ID3 2.0標簽 ?? ?? ?? ?? ?? ?? ?? 對應的ActionScript屬性
COMM ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? Sound.id3.comment
TALB ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? Sound.id3.album
TCON ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? Sound.id3.genre
TIT2 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? Sound.id3.songName
TPE1 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? Sound.id3.artist
TRCK ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? Sound.id3.track
TYER ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? Sound.id3.year


下面的表中描述的ID3標簽在動作腳本中沒有預先定義.您可以通過下面的方式訪問它們,例如mySound.id3.TFLT, mySound.id3.TIME等等.

屬性 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??? 描述
TFLT ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 文件類型
TIME ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 時間
TIT1 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 包含群組描述
TIT2 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 標題/歌曲名/描述
TIT3 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 子標題/詳細說明
TKEY ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??? 起始地址
TLAN ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??? 語言
TLEN ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??? 長度
TMED ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??? 媒體類型
TOAL ?? ?? ?? ?? ?? ?? ?? ?? ?? 原專輯/電影/顯示標題
TOFN ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 原文件名
TOLY ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 作詞作曲
TOPE ?? ?? ?? ?? ?? ?? ?? ?? ?? 藝術家/表演者
TORY ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 發(fā)行年
TOWN ?? ?? ?? ?? ?? ?? ?? ?? 文件所有者/許可
TPE1 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 主要表演者/主唱
TPE2 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 樂隊/伴奏
TPE3 ?? ?? ?? ?? ?? ?? ?? ?? Conductor/performer refinement
TPE4 ?? ?? ?? ?? ?? ?? ?? ?? ?? 合聲,混音,或其他制作人
TPOS ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? Part of a set
TPUB ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 出版發(fā)行
TRCK ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 音軌號/曲目號
TRDA ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 錄制日期
TRSN ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 網(wǎng)絡發(fā)射臺名稱
TRSO ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 網(wǎng)絡發(fā)射臺所有人
TSIZ ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 尺寸
TSRC ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ISRC 國際標準記錄編碼(international standard recording code)
TSSE ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 軟/硬編碼及設置
TYER ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??? 年份
WXXX ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 鏈接頁面


又是網(wǎng)絡沙箱,這段略過

PS:突然發(fā)現(xiàn)藍色理想有id3v2的信息,比我這好多了
貼在這里
AS3的Sound類[語法參考]
isBuffering 屬性

isBuffering:Boolean?? [只讀]
返回外部mp3文件的緩沖狀態(tài).如果值為真,則當對象等待數(shù)據(jù)時回放將會掛起.

Implementation(實現(xiàn))
public function get isBuffering():Boolean


length 屬性

length:Number?? [只讀]
以微秒表示的當前聲音長度.

Implementation 實現(xiàn)
public function get length():Number


url 屬性

url:String?? [只讀]
所加載的聲音的地址.該屬性只對用Sound.load()方式加載的Sound對象有效.對于關聯(lián)到swf庫中聲音資源的Sound對象url屬性的返回值為null.

當你第一次調用Sound.load()函數(shù),url屬性將會賦值為null,因為最終的url還不確定.當Sound對象中傳出open事件的同時,url屬性會立即變?yōu)榉强罩?

url屬性包含了加載的聲音的最終的絕對的地址.通常情況下,url的值與傳給Sound.load()的參數(shù)值一致.不過,如果你將相對的地址作為參數(shù) 傳給Sound.load(),那么url屬性值將會返回出絕對的地址. 另外,如果原來的地址請求被http服務器重定向,那么url屬性值反映的是聲音文件所在的真實地址.這個最終絕對的地址的報告與等價于 LoaderInfo.url的行為.

Implementation 實現(xiàn)
public function get url():String

構造函數(shù) 詳細
Sound () 函數(shù)

public function Sound(stream:URLRequest = null, context:SoundLoaderContext = null)
創(chuàng)建一個新的Sound對象.如果你將一個有效的URLRequest對象傳遞給Sound函數(shù),函數(shù)將自動調用Sound對象的load()函數(shù).如果 你沒有將有效的URLRequest對象傳遞給Sound構造函數(shù),你必須親自調用load()函數(shù),否則,音頻流將不會被加載.

一旦Sound對象中的load()被調用,您不能再向該Sound對象加載另一個聲音文件.若要載入另一個不同的聲音文件,請創(chuàng)建一個新的Sound對象.

參數(shù)?? stream:URLRequest (default = null) — 這個地址指向外部的mp3文件.??
??
相關內容:SoundLoaderContext (default = null) — Minimum number of milliseconds of MP3 data to hold in the Sound object's buffer. The Sound object waits until it has at least this much data before beginning playback and before resuming playback after a network stall. The default value is 1000 (one second).??

方法 細節(jié)
close () 方法

public function close():void
關閉音頻流,會導致所有的下載數(shù)據(jù)的終結.調用close()方法之后將不能從音頻流中讀取數(shù)據(jù).


出現(xiàn)?? IOError — 流無法被關閉或打開.??

load () 方法

public function load(stream:URLRequest, context:SoundLoaderContext = null):void
初始化從指定地址對外部mp3文件的加載.如果你將一個有效的URLRequest對象傳遞給Sound函數(shù),函數(shù)將自動調用Sound對象的 load()函數(shù).在你沒有將有效的URLRequest對象傳遞給Sound構造函數(shù)時,你需要親自調用load()函數(shù).

一旦Sound對象中的load()被調用,您不能再向該Sound對象加載另一個聲音文件.若要載入另一個不同的聲音文件,請創(chuàng)建一個新的Sound對象.

沙箱又來了......

參數(shù)?? stream:URLRequest — A URL that points to an external MP3 file.??
??
有關內容:SoundLoaderContext (default = null) — Minimum number of milliseconds of MP3 data to hold in the Sound object's buffer. The Sound object waits until it has at least this much data before beginning playback and before resuming playback after a network stall. The default value is 1000 (one second).??

發(fā)生?? IOError — 網(wǎng)絡錯誤導致加載失敗.??
??
安全錯誤SecurityError — 本地的不受信的swf文件無法訪問internet.您可以將其重新分類為本地對網(wǎng)絡或者將其加入信任列表.??

play () 方法

public function play(startTime:Number = 0, loops:int = 0, sndTransform:SoundTransform = null):SoundChannel
生成一個新的SoundChannel對象來進行回放.此方法返回一個SoundChannel對象,您可以通過這個SoundChannel對象來停止 播放聲音和調整音量. (要控制音量,偏移,平衡,通過分配給sound channel的SoundTransform對象來訪問.)

參數(shù)
?? startTime:Number (default = 0) — 用微秒表示的回放開始位置.??
??
loops:int (default = 0) — 定義在sound channel停止回放前聲音循環(huán)播放的次數(shù).??
??
sndTransform:SoundTransform (default = null) — 分配給聲道的SoundTransform對象.??


返回值
?? SoundChannel — 一個你用來控制聲音的SoundChannel對象.如果你沒有聲卡或者你已經(jīng)沒有可用的聲音通道,這個方法將返回空值null.聲音通道的一次性最大可用數(shù)是32.

事件細節(jié)
complete 事件
事件對象類型:flash.events.Event
Event類屬性=flash.events.Event.COMPLETE

當數(shù)據(jù)成功加載時觸發(fā).
完成事件對象的屬性值

該事件有如下屬性:
屬性名稱 ?? ?? ?? ?? ?? ?? ?? 屬性值
bubbles ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? false
cancelable ?? ?? ?? ?? ?? ?? ?? ?? ??? false;默認沒有取消
currentTarget ?? ?? ?? ?? ?? ?? ??? 當前使用監(jiān)聽器檢測該事件對象的影片對象
target ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 已經(jīng)完成下載工作的網(wǎng)絡對象.target并不總是
?? ?? ?? ?? ?? ?? ?? ?? 存在于注冊了偵聽器的顯示列表中.使用currentTarget屬性
?? ?? ?? ?? ?? ?? ?? ?? 來獲取操作當前事件的對象.

參考Sound.load()

id3 事件
事件對象類型:flash.events.Event
Event類 屬性值=flash.events.Event.ID3

當mp3聲音對象的ID3數(shù)據(jù)可用時被觸發(fā).
該事件有如下屬性:
屬性名稱 ?? ?? ?? ?? ?? ?? ?? 屬性值
bubbles ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? false
cancelable ?? ?? ?? ?? ?? ?? ?? ?? ??? false;默認沒有取消
currentTarget ?? ?? ?? ?? ?? ?? ??? 當前使用監(jiān)聽器檢測該事件對象的影片對象
target ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 已經(jīng)完成下載工作的網(wǎng)絡對象.target并不總是
?? ?? ?? ?? ?? ?? ?? ?? 存在于注冊了偵聽器的顯示列表中.使用currentTarget屬性
?? ?? ?? ?? ?? ?? ?? ?? 來獲取操作當前事件的對象.

昏...和complete完全一樣

參看:Sound.id3

ioError事件
事件對象屬性:flash.events.IOErrorEvent
IORrrorEvent類 屬性值=flash.events.IOErrorEvent.IO_ERROR
當輸入輸出錯誤導致加載操作失敗時被觸發(fā).

該事件有如下屬性:
屬性名稱 ?? ?? ?? ?? ?? ?? ?? 屬性值
bubbles ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? false
cancelable ?? ?? ?? ?? ?? ?? ?? ?? ??? false;默認沒有取消
currentTarget ?? ?? ?? ?? ?? ?? ??? 當前使用監(jiān)聽器檢測該事件對象的影片對象
target ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 發(fā)生輸入輸出錯誤的網(wǎng)絡對象
text ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 作為錯誤信息輸出的文字信息

參看
Sound.load()

open事件
事件對象類型:flash.events.Event
Event類 屬性值=flash.events.Event.OPEN

當加載操作開始時被觸發(fā).
該事件有如下屬性:
屬性名稱 ?? ?? ?? ?? ?? ?? ?? 屬性值
bubbles ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? false
cancelable ?? ?? ?? ?? ?? ?? ?? ?? ??? false;默認沒有取消
currentTarget ?? ?? ?? ?? ?? ?? ??? 當前使用監(jiān)聽器檢測該事件對象的影片對象
target ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??? 開始連接的網(wǎng)絡對象

又參看
Sound.load()

progress事件
事件對象類型:flash.events.ProgressEvent
ProgressEvent類 屬性值=flash.events.ProgressEvent.PROGRESS

當加載操作運作中收到數(shù)據(jù)時被觸發(fā)

該事件有如下屬性:

屬性名稱 ?? ?? ?? ?? ?? ?? ?? 屬性值
bubbles ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? false
bytesloaded ?? ?? ?? ?? ?? ?? 偵聽器檢測到事件時所加載的條目個數(shù)或者比特數(shù)
bytestotal ?? ?? ?? ?? ?? ?? ?? 當加載進程成功完成時預計加載的總數(shù)或者總比特數(shù)
cancelable ?? ?? ?? ?? ?? ?? ?? ?? ??? false;默認沒有取消
currentTarget ?? ?? ?? ?? ?? ?? ??? 當前使用監(jiān)聽器檢測該事件對象的影片對象
target ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 報告正在工作中的網(wǎng)絡對象

參看
Sound.load()

例子:
下面的例子將向您展示發(fā)生在mp3文件打開與播放時的聲音事件及其信息.要運行這個例子,在與您的swf文件相同目錄下放置一個名字為"Mysound.mp3"的文件.
package {
import flash.display.Sprite;
import flash.events.*;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.net.URLRequest;

public class SoundExample extends Sprite {
?? ??? private var url:String = "MySound.mp3";
?? ??? private var song:SoundChannel;

?? ??? public function SoundExample() {
?? ?? ?? var request:URLRequest = new URLRequest(url);
?? ?? ?? var soundFactory:Sound = new Sound();
?? ?? ?? soundFactory.addEventListener(Event.COMPLETE, completeHandler);
?? ?? ?? soundFactory.addEventListener(Event.ID3, id3Handler);
?? ?? ?? soundFactory.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
?? ?? ?? soundFactory.addEventListener(ProgressEvent.PROGRESS, progressHandler);
?? ?? ?? soundFactory.load(request);
?? ?? ?? song = soundFactory.play();
?? ??? }

?? ??? private function completeHandler(event:Event):void {
?? ?? ?? trace("completeHandler: " + event);
?? ??? }

?? ??? private function id3Handler(event:Event):void {
?? ?? ?? trace("id3Handler: " + event);
?? ??? }

?? ??? private function ioErrorHandler(event:Event):void {
?? ?? ?? trace("ioErrorHandler: " + event);
?? ??? }

?? ??? private function progressHandler(event:ProgressEvent):void {
?? ?? ?? trace("progressHandler: " + event);
?? ??? }
}
}

peterd_mm 于2006年七月25日下午8點25分留言:
bytesTotal屬性,在總比特數(shù)無法確定的情況下返回零值.(比如,下載初始化時,服務器沒有傳送HTTP頭)
The bytesTotal property, returns 0 if the number of total bytes can't be determined (for example, if the download was initiated but the server did not transmit an HTTP content-length).

Peter
Flash Player documentation
Adobe Systems Incorporated

完成!!

AS3的Sound類[語法參考]


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 兴山县| 乐业县| 桦南县| 徐州市| 西乌| 五大连池市| 上犹县| 衡南县| 山西省| 沧源| 永靖县| 成都市| 鄄城县| 杭州市| 天祝| 雅江县| 磐石市| 班戈县| 台安县| 罗平县| 响水县| 渭南市| 葫芦岛市| 岐山县| 瓦房店市| 奉贤区| 钟山县| 襄城县| 北海市| 永仁县| 视频| 东辽县| 容城县| 尖扎县| 久治县| 阳江市| 福清市| 黎城县| 青浦区| 化州市| 桐城市|