内容の保証はできません。
/System/Library/Frameworks/AVFoundation.framework
クラス AVAudioPlayer †
NSObject
|
+--AVAudioPlayer
概要 †
AVAudioPlayerクラスのインスタンスはオーディオプレイヤーと呼ばれ、ファイルまたはメモリのオーディオデータの再生機能を提供しています。
Appleは、ネットワークストリームからキャプチャーされたオーディオの再生・ステレオ再生・正確な同調をアプリケーションが必要としない限り、オーディオ再生にはこのクラスの使用を推奨します。
オーディオプレイヤーでできること:
■任意の間隔での音の再生
■ファイルまたはメモリバッファからの音の再生
■ループ再生
■同時に複数の音を再生
■再生中のそれぞれの音を相対的な再生レベルで制御
■サウンドファイルの特定のポイントをシークして、早送りや巻き戻しのようなアプリケーションの機能をサポート
■再生レベル計測用のデータを取得
AVAudioPlayerクラスは、iPhoneOSで利用可能な全てのオーディオフォーマットを再生することができます。(電話の着信コールのような)中断や音声再生終了時のユーザインタフェースの更新を管理するにはデリゲートを使用します。AVAudioPlayerのためのデリゲートメソッドについては、AVAudioPlyerDelegateProtocol?リファレンスに記載されています。
このクラスでは、ボリュームやループのような再生オプションにアクセスしたり、サウンドタイムライン内の再生ポイント等、サウンドについての情報を管理するためにObjective-Cのプロパティ宣言を主に利用します。
インデックス †
オーディオプレイヤーオブジェクトの初期化 †
– initWithContentsOfURL:error:
– initWithData:error:
再生の設定と制御 †
– play
– pause
– stop
– prepareToPlay
playing property
volume property
numberOfLoops property
delegate property
サウンド情報の管理 †
numberOfChannels property
duration property
currentTime property
url property
data property
オーディオレベルの計測 †
meteringEnabled property
– averagePowerForChannel:
– peakPowerForChannel:
– updateMeters
プロパティ †
currentTime †
オーディオプレイヤーに関連付けられているサウンドのタイムライン中の現在の再生位置を秒単位で示す。
@property NSTimeInterval currentTime;
data †
オーディオプレイヤーに関連付けられているサウンドを含むNSDataオブジェクトを返す。(読み取りのみ)
@property (readonly) NSData *data;
delegate †
オーディオプレイヤーのためのデリゲートを指定する。
@property (assign) id <AVAudioPlayerDelegate> delegate;
duration †
オーディオプレイヤーに関連付けられているサウンド内の間隔の総時間を秒単位で返す。
@property NSTimeInterval duration;
meteringEnabled †
オーディオプレイヤーのオーディオレベル計測のオン/オフ状態を決定する。
[self.player setMeteringEnabled: YES]; // オンにする場合(デフォルトはオフ)
@property (getter=isMeteringEnabled) BOOL meteringEnabled;
numberOfChannels †
オーディオプレイヤーに関連付けられているサウンドの内のオーディオチャンネルの番号を返す。例えば、モノラル信号またはステレオ信号の左のチャンネルの番号は0である。(読み取りのみ)
@property (readonly) NSUInteger numberOfChannels;
numberOfLoops †
リピート再生するために、サウンドが終点に達した時点で再び再生を開始する回数を指定する。このプロパティで指定された数値の回数だけリピート再生を繰り返すことになる。
-1(0未満の数値)を指定するとstopメソッドが呼ばれるまでループし続ける。
@property NSInteger numberOfLoops;
playing †
オーディオプレイヤーが再生中(YES)かそうでない(NO)かを返す。(読み取りのみ)
@property (readonly, getter=isPlaying) BOOL playing;
url †
オーディオプレイヤーに関連付けられているサウンドのURLを返す。(読み取りのみ)
@property (readonly) NSURL *url;
volume †
オーディオプレイヤーの再生出力を0.0から1.0の幅で指定する。
@property float volume;
インスタンスメソッド †
averagePowerForChannel: †
再生されているサウンドについて、与えられたオーディオチャンネルの出力の平均値をデシベル単位で返す。現時点の平均出力を取得したい場合は、このメソッドの前に、updateMetersメソッドを呼び出さなければならない。
- (float)averagePowerForChannel:(NSUInteger)channelNumber
initWithContentsOfURL:error: †
指定されたサウンドファイルでオーディオプレイヤーオブジェクトを初期化して返す。
- (id)initWithContentsOfURL:(NSURL *)url error:(NSError **)outError
initWithData:error: †
指定されたメモリバッファでオーディオプレイヤーオブジェクトを初期化して返す。
- (id)initWithData:(NSData *)data error:(NSError **)outError
pause †
再生を一時停止する。成功したらYES、失敗したらNOを返す。
- (BOOL)pause
peakPowerForChannel: †
再生されているサウンドについて、与えられたオーディオチャンネルの出力の最大値をデシベル単位で返す。現時点の最大出力を取得したい場合は、このメソッドの前に、updateMetersメソッドを呼び出さなければならない。
- (float)peakPowerForChannel:(NSUInteger)channelNumber
play †
非同期でサウンドを再生する。成功したらYES、失敗したらNOを返す。
- (BOOL)play
prepareToPlay †
前もってバッファをローディングし再生の準備をする。このメソッドを呼び出しておくことによってplayメソッドによる再生時のラグを緩和することが出来る。stopメソッドが呼ばれるか、再生が終了した時点でこのセットアップは解除される。成功したらYES、失敗したらNOを返す。
- (BOOL)prepareToPlay
stop †
再生を停止し、再生のためのセットアップを解除する。currentTimeプロパティの値は0になる。成功したらYES、失敗したらNOを返す。
- (BOOL)stop
updateMeters †
オーディオプレイヤーの全てのチャンネルの平均出力値と最大出力値を更新する。
- (void)updateMeters