Webサイト制作科 - 作品紹介

Webサイト制作科 - 作品紹介

Flash - Soundクラス

 

HTML5サウンド

<body>
<h1>サンプル音声を再生</h1>
<audio src="sound/CheapFunk.mp3" controls>
<p>ブラウザ上で再生できない方は<a href="sound/CheapFunk.mp3">音声のダウンロード</a>をどうぞ。</p>
</audio>
</body>

Soundクラス

 


var soundClick:Sound = new Sound(); //オブジェクトを作る

 

メソッド
Sound.attachSound() ライブラリのサウンドを割り当てる
Sound.loadSound() MP3ファイルの読み込みを開始する
Sound.start() サウンドの再生を開始する
Sound.stop() サウンドの再生を停止する
Sound.getBytestLoaded() 読み込み済みのサイズを取得する(バイト)
Sound.getBytestTotal() サウンド全体のサイズを取得する(バイト)
Sound.getPan() 左右のバランスを取得する(0〜100)
Sound.setPan() 左右のバランスを設定する(0〜100)
Sound.getTransform() 高度なバランス情報を取得する
Sound.setTransform() 高度なバランス情報を設定する
Sound.getVolume() ボリュームレベルを取得する(0〜100)
Sound.setVolume() ボリュームレベルを設定する(0〜100)

 

プロパティ
Sound.position 現在再生中の位置(ミリ秒)(読み取り専用)
Sound.duration サウンド全体の長さ(ミリ秒)(読み取り専用)
Sound.id3 MP3ファイルのメタデータ(読み取り専用)

 

イベントハンドラメソッド
Sound.onLoad サウンドの読み込みが終わった
Sound.onSoundCommlete サウンドを最後まで再生し終えた
Sound.onID3 MP3ファイルのメタデータの準備ができた

 

サウンドの扱い
  1. あらかじライブラリに読み込む(サイズが大きくなる)
  2. 実行時に読み込む(MP3ファイルのみ)

サウンドを使う

フレームにサウンドを設定


ファイルを読み込みます。
読み込みが完了すると、ライブラリ内にサウンドファイルができます。



1フレームを選択した状態で「プロパティ」パネルを開き、「サウンド」リストで再生したいサウンドを選択します。



「同期」の種類を選択します。



同期の種類
同期の種類 特徴
イベント サウンドを即座に再生します。ゲームなどの効果音、短い音に向いています。
スタート サウンドが再生していない場合に再生します。BGMなどに向いています。
ストップ 指定したサウンドを停止します。
ストリーミング タイムラインと同期して再生します。アニメーションのナレーション音源などに向いています。

 

サウンドの圧縮
  • Flashで使用するサウンドは、すべて圧縮されます
  • 圧縮方法は複数あり、テストしながら設定します


目的のサウンドを選択して、「サウンドプロパティ」の圧縮パラメータを調整します。

  • 音質は「テスト」ボタンを押して確認します。
圧縮の
種類
得意な音

特徴

ADPCM サンプリング、高い音、
かすれた音
圧縮しても音が変わりにくい。
MP3 長い音 圧縮率は高い。音がこもる印象に。
Raw 何でも 無圧縮。ファイルサイズが大きくなる。
スピーチ ナレーション 人間の声が聞き取りやすくなる

《タイムライン・アニメーションに音をのせる》

  • 花が開くタイムライン上に、同期させて音が再生するようにしている

 

ボタンコントロール

  • 外部ファイルの読み込みがもっとも簡単な記述です


 

	var snd1:Sound=new Sound();
	var snd2:Sound=new Sound();
	var snd3:Sound=new Sound();

play1_btn.onRelease = function() {
	snd1.loadSound("p01.mp3",true);
	snd1.start();
}
play2_btn.onRelease = function() {
	snd2.loadSound("p02.mp3",true);
	snd2.start();
}
play3_btn.onRelease = function() {
	snd3.loadSound("p03.mp3",true);
	snd3.start();
}
stop1_btn.onRelease = function() {
	snd1.stop();
}
stop2_btn.onRelease = function() {
	snd2.stop();
}
stop3_btn.onRelease = function() {
	snd3.stop();
}