3

ボタンを押したときに音を鳴らしたい。私はこれを試しました:

-(void)PlayClick
{
NSURL* musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle]
                                           pathForResource:@"BubblePopv4"
                                           ofType:@"mp3"]];
AVAudioPlayer *click = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil];
[click play];
}

…そして輸入され#import <AudioToolbox/AudioToolbox.h>#import <AVFoundation/AVFoundation.h>

しかし、なぜか音が出ません。プロジェクトに追加したファイルは「BubblePopv4.mp3」なので、名前とタイプは正しいです。iPad の音量は最大に、iTunes では音は問題なく再生されます。何か案は?

4

3 に答える 3

3

そのままにしておきます。新しいクラスでやらないでください。簡単なことです。

- (void)playSoundWithOfThisFile:(NSString*)fileNameWithExtension {

    // Eg - abc.mp3
    AVAudioPlayer *audioPlayerObj;

    NSString *filePath;

    filePath= [[NSString stringWithFormat:@"%@", [[NSBundle mainBundle] resourcePath]] retain];

    if(!audioPlayerObj)
        audioPlayerObj = [AVAudioPlayer alloc];

        NSURL *acutualFilePath= [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/%@",filePath,fileNameWithExtension]];

        NSError *error;

        [audioPlayerObj initWithContentsOfURL:acutualFilePath error:&error];

        [audioPlayerObj play];

}
于 2013-01-13T14:00:11.957 に答える
1

これを行う:

.hファイル内:

Use this delegate - <AVAudioPlayerDelegate>

#import "AVFoundation/AVAudioPlayer.h"

AVAudioPlayer *audioPlayerObj;

NSString *filePath;

.mファイルでは、いくつかの方法で:

   filePath= [[NSString stringWithFormat:@"%@", [[NSBundle mainBundle] resourcePath]] retain];

    if(!audioPlayerObj)
        audioPlayerObj = [AVAudioPlayer alloc];

そして、次の2つの方法を追加します。

- (id)initWithFileName:(NSString*)fileNameWithExtension {

    if ((self = [super init])) {

        NSURL *acutualFilePath= [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/%@",filePath,fileNameWithExtension]];

        NSError *error;

        [audioPlayerObj initWithContentsOfURL:acutualFilePath error:&error];

    }
    return self;
}

- (void)playSound {
    [audioPlayerObj play];
}

このメソッドにファイル名を渡すことができます--initWithFileName

次に、playSoundメソッドを呼び出してサウンドを再生します。

お役に立てれば。

于 2013-01-13T13:19:51.087 に答える
0

URLの初期化を次のように置き換えます。

NSURL* musicFile = [NSURL initFileURLWithPath:[[NSBundle mainBundle]
                                              pathForResource:@"BubblePopv4"
                                              ofType:@"mp3"]];
于 2013-01-13T13:32:28.443 に答える