Как воспроизвести звук после вызова диктофона и чем запустить анимацию и чем воспроизвести звук? - PullRequest
1 голос
/ 03 октября 2011

У меня есть задача разработать приложение, которое воспроизводит звук после того, как пользователь зажжет свечи, а затем должен воспроизвести этот звук.Для выдува свечи я использовал AVAudioRecorder, который улавливает удар пользователя и затем запускает анимацию остановленных свечей, а затем он должен начать играть песню, но она не воспроизводит песню.Я сохранил песню локально. (В моем приложении)

для AVAudioRecorder

    NSURL *url1 = [NSURL fileURLWithPath:@"/dev/null"];

    NSDictionary *settings = [NSDictionary dictionaryWithObjectsAndKeys:
        [NSNumber numberWithFloat: 44100.0], AVSampleRateKey,
        [NSNumber numberWithInt: kAudioFormatAppleLossless], AVFormatIDKey,
        [NSNumber numberWithInt: 1], AVNumberOfChannelsKey,
        [NSNumber numberWithInt: AVAudioQualityMax],  AVEncoderAudioQualityKey,
        nil];
    NSError *error1;

    recorder = [[AVAudioRecorder alloc] initWithURL:url1 settings:settings error:&error1];

анимационные изображения запускаются и после этой песни должны быть воспроизведены.

imageView1.animationImages= [NSArray arrayWithObjects:
    [UIImage imageNamed:@"can6.png"],
    [UIImage imageNamed:@"can7.png"],
    [UIImage imageNamed:@"can8.png"],
    [UIImage imageNamed:@"can9.png"],
    [UIImage imageNamed:@"can10.png"],nil];
    [imageView1 setAnimationRepeatCount:1];
    imageView1.animationDuration=0.7;
    [imageView1 startAnimating];
    [recorder stop];
    player = [[AVAudioPlayer alloc] 
              initWithContentsOfURL:[NSURL fileURLWithPath:
             [[NSBundle mainBundle] pathForResource:xyz song ofType:nil]]
             error:nil];
    NSLog(@"music play-%@",xyz song);
    [player prepareToPlay];
    [player play];

Все коды работают правильно, только звук не воспроизводится.У меня начинается анимация остановки свечи, но я не могу здесь эту песню.Хотя приведенный выше код воспроизведения звука отлично работает в другом виде и воспроизводит песню, но здесь она не воспроизводится.Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 03 октября 2011

Убедитесь, что результат [[NSBundle mainBundle] pathForResource: xyz song ofType: nil] не равен nil. Я думаю, что проблема может быть передача нуля для типа. Например, если ваша песня HappyBirthday.mp3, вы должны позвонить

[[NSBundle mainBundle] pathForResource:@"HappyBirthday" ofType:@"mp3"];
...