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

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

AS3的Sound類[語法參考]

系統 1763 0

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

Class Sound
Sound類

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

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

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

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

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

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



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

bytesTotal:int
[只讀]返回聲音對象的總字節數

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

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

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

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

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

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

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

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

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

屬性細節:
bytesLoaded 屬性

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

Implementation (實現)
public function get bytesLoaded():uint


bytesTotal 屬性

bytesTotal:int?? [只讀]
返回當前聲音對象的總字節數.

Implementation (實現)
public function get bytesTotal():int

id3 屬性

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

Mp3聲音文件可包含ID3標簽,ID3標簽提供文件的元數據.如果一個你使用Sound.load()方法加載的mp3文件包含了ID3標簽,你可以查詢這些屬性.只有使用UTF-8編碼的ID3標簽能夠被支持.
Flash Player 9以及后續版本支持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 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 發行年
TOWN ?? ?? ?? ?? ?? ?? ?? ?? 文件所有者/許可
TPE1 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 主要表演者/主唱
TPE2 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 樂隊/伴奏
TPE3 ?? ?? ?? ?? ?? ?? ?? ?? Conductor/performer refinement
TPE4 ?? ?? ?? ?? ?? ?? ?? ?? ?? 合聲,混音,或其他制作人
TPOS ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? Part of a set
TPUB ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 出版發行
TRCK ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 音軌號/曲目號
TRDA ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 錄制日期
TRSN ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 網絡發射臺名稱
TRSO ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 網絡發射臺所有人
TSIZ ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 尺寸
TSRC ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ISRC 國際標準記錄編碼(international standard recording code)
TSSE ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 軟/硬編碼及設置
TYER ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??? 年份
WXXX ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 鏈接頁面


又是網絡沙箱,這段略過

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

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

Implementation(實現)
public function get isBuffering():Boolean


length 屬性

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

Implementation 實現
public function get length():Number


url 屬性

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

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

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

Implementation 實現
public function get url():String

構造函數 詳細
Sound () 函數

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

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

參數?? 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).??

方法 細節
close () 方法

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


出現?? IOError — 流無法被關閉或打開.??

load () 方法

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

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

沙箱又來了......

參數?? 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).??

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

play () 方法

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

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


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

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

當數據成功加載時觸發.
完成事件對象的屬性值

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

參考Sound.load()

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

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

昏...和complete完全一樣

參看:Sound.id3

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

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

參看
Sound.load()

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

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

又參看
Sound.load()

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

當加載操作運作中收到數據時被觸發

該事件有如下屬性:

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

參看
Sound.load()

例子:
下面的例子將向您展示發生在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屬性,在總比特數無法確定的情況下返回零值.(比如,下載初始化時,服務器沒有傳送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類[語法參考]


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 91av视频在线免费观看 | 九九热国产精品视频 | 偶像练习生在线免费观看 | 三级在线国产 | 自拍偷拍av| 99久久这里只有精品 | 久久亚洲欧美日韩精品专区 | 国产农村妇女毛片精品久久麻豆 | 久久精品免费一区二区三 | 三级精品在线观看 | 午夜婷婷精品午夜无码A片影院 | 91亚洲精品一区二区福利 | 中文字幕国产精品 | 国产高清免费 | 妞干网av | 欧美日韩成人影院 | 91免费版在线看 | 日本高清一级片 | 另类婷婷 | 日韩成人免费在线视频 | 国产tv| 成人亚洲国产精品久久 | 日日摸夜夜添欧美一区 | 欧美午夜一区二区三区免费大片 | 欧美日韩中文字幕在线 | 日韩精品hd | 草草影院地址ccyycom浮力影院37 日日干干夜夜 | 久久人人爽人人爽人人片av不 | 成人精品 | 毛片资源 | 色噜噜狠狠色综合久 | 爱性久久久久久久 | 久久久久久天天夜夜天天 | 精品欧美一区二区在线观看 | 色婷婷av久久久久久久 | 久久久成人精品视频 | 亚洲五月 | 三级理伦| 黄色毛片a | 天天草人人草 | 一区二区三区四区不卡视频 |