Flash CS3 ドキュメンテーション |
|||
| ActionScript 3.0 のプログラミング > ビデオの操作 > ビデオメタデータの使用 | |||
onMetaData コールバックハンドラを使用し、FLV ファイルのメタデータ情報を表示することができます。メタデータには、長さ、幅、高さ、フレームレートなど FLV ファイルに関する情報が含まれています。FLV ファイルに追加されるメタデータ情報は、FLV ファイルをエンコードするためのソフトウェア、またはメタデータ情報を追加するためのソフトウェアによって異なります。
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.client = this;
ns.play("video.flv");
var vid:Video = new Video();
vid.attachNetStream(ns);
addChild(vid);
function onMetaData(infoObject:Object):void
{
var key:String;
for (key in infoObject)
{
trace(key + ": " + infoObject[key]);
}
}
前述のコードでは、FLV ファイルにキューポイントとオーディオが含まれていると仮定すると、次のようなコードを生成します。
width: 320 audiodelay: 0.038 canSeekToEnd: true height: 213 cuePoints: ,, audiodatarate: 96 duration: 16.334 videodatarate: 400 framerate: 15 videocodecid: 4 audiocodecid: 2
|
ヒント |
|
ビデオにオーディオがない場合、エンコード中にメタデータにオーディオ情報が追加されないため、 |
前述のコードでは、キューポイント情報は表示されていません。キューポイントメタデータを表示するには、オブジェクトのアイテムを再帰的に表示する次の関数を使用することができます。
function traceObject(obj:Object, indent:uint = 0):void
{
var indentString:String = "";
var i:uint;
var prop:String;
var val:*;
for (i = 0; i < indent; i++)
{
indentString += "\t";
}
for (prop in obj)
{
val = obj[prop];
if (typeof(val) == "object")
{
trace(indentString + " " + j + ": [Object]");
traceObject(val, indent + 1);
}
else
{
trace(indentString + " " + prop + ": " + val);
}
}
}
前述のコード例を使用し、onMetaData() メソッドの infoObject パラメータをトレースすると、出力は次のようになります。
width: 320
audiodatarate: 96
audiocodecid: 2
videocodecid: 4
videodatarate: 400
canSeekToEnd: true
duration: 16.334
audiodelay: 0.038
height: 213
framerate: 15
cuePoints: [Object]
0: [Object]
parameters: [Object]
lights: beginning
name: point1
time: 0.418
type: navigation
1: [Object]
parameters: [Object]
lights: middle
name: point2
time: 7.748
type: navigation
2: [Object]
parameters: [Object]
lights: end
name: point3
time: 16.02
type: navigation
次の表に、ビデオメタデータで使用可能な値をまとめます。
:|
パラメータ |
説明 |
|---|---|
|
audiocodecid |
使用されるオーディオコーデック (コード/デコード技法) を示す数値です。 |
|
audiodatarate |
オーディオがエンコードされるレートをキロバイト秒で示す数値です。 |
|
audiodelay |
元の FLV ファイルの "time 0" の時間を示す数値です。オーディオと正しく同期化するには、ビデオコンテンツを少し遅延させる必要があります。 |
|
canSeekToEnd |
FLV ファイルが最終フレームのキーフレームによってエンコードされている場合は |
|
cuePoints |
オブジェクトの配列。FLV ファイルに埋め込まれたそれぞれのキューポイントに 1 つずつあります。FLV ファイルにキューポイントがない場合は、値は未定義となります。各オブジェクトには次のプロパティがあります。
|
|
duration |
FLV ファイルの長さを秒単位で示す数値です。 |
|
framerate |
FLV ファイルのフレームレートを示す数値です。 |
|
height |
FLV ファイルの高さをピクセル単位で示す数値です。 |
|
videocodecid |
ビデオのエンコードに使用されたコーデックのバージョンを表す数値です。 |
|
videodatarate |
FLV ファイルのビデオデータレートを示す数値です。 |
|
width |
FLV ファイルの幅をピクセル単位で示す数値です。 |
次の表に、videocodecid パラメータで使用可能な値をまとめます。
|
videocodecid |
コーデック名 |
|---|---|
|
2 |
Sorenson H.263 |
|
3 |
Screen Video (SWF 7 以降のみ) |
|
4 |
VP6 (SWF 8 以降のみ) |
|
5 |
アルファチャンネルを使用する VP6 Video (SWF 8 以降のみ) |
次の表に、audiocodecid パラメータで使用可能な値をまとめます。
|
audiocodecid |
コーデック名 |
|---|---|
|
0 |
uncompressed |
|
1 |
ADPCM |
|
2 |
MP3 |
|
5 |
Nellymoser 8kHz モノラル |
|
6 |
Nellymoser |
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000267.html