0

私のプロジェクトでは、音楽を再生する機能があります

-(void)playPlin {
AudioSessionSetActive(true);
// Set up audio session, to prevent iPhone from deep sleeping, while playing sounds
UInt32 category = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty (
                         kAudioSessionProperty_AudioCategory,
                         sizeof (category),
                         &category
                         );

//UInt32 category = kAudioSessionCategory_MediaPlayback;
OSStatus result = AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,
                                          sizeof(category), &category);

if (result){
    NSLog(@"ERROR SETTING AUDIO CATEGORY!\n");
}

result = AudioSessionSetActive(true);
if (result) {
    NSLog(@"ERROR SETTING AUDIO SESSION ACTIVE!\n");
}

NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"chimes" ofType:@"wav"];
NSData *sampleData = [[NSData alloc] initWithContentsOfFile:soundFilePath];
NSError *audioError = nil;

AVAudioPlayer *alarmAudioPlayer = [[AVAudioPlayer alloc] initWithData:sampleData error:&audioError];
[sampleData release];
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];



if(audioError != nil) {
    NSLog(@"An audio error occurred: \"%@\"", audioError);
}
else {
    [alarmAudioPlayer play];
}       }

ファイルは問題なく再生されますが、3つの問題があります。

1.オーディオファイルが最初からではなく、通過した秒数から開始するようにするにはどうすればよいですか?たとえば、iステップ値300のオーディオファイルは、その2番目の300から開始する必要があります。

2.オーディオファイルの音量を設定するにはどうすればよいですか?

3.どうすればループプロパティを設定できますか?

少し早いですがお礼を

4

1 に答える 1

1

これはすべて、ドキュメントにかなり明確に示されています。

1)のplayAtTime:代わりにメソッド呼び出しを使用しplayます。時間を秒単位で渡します。

2)volumeプロパティをに設定しますAVAudioPlayer。これはプレーヤーのゲインであり、現在のシステムボリュームで変調されることに注意してください。

3)numberOfLoopsプロパティを設定します。NSIntegerMax無限にループし続けるような巨大な値を割り当てます。

于 2012-02-09T00:35:40.847 に答える