【问题标题】:mp3 playback failed when moved to a class移动到班级时 mp3 播放失败
【发布时间】:2012-10-15 20:44:06
【问题描述】:

我在应用中播放音乐时遇到问题。 如果我在 viewcontroller viewDidLoad 中写这个,一切正常。

   NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/jingle.caf", [[NSBundle mainBundle] resourcePath]]];

NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = -1;

if (audioPlayer == nil)
    NSLog([error description]);
else
    [audioPlayer play];

但是当我把它放到我自己的类中,在 viewDidLoad 中的同一个 viewController 中实例化它并使用完全相同的代码调用方法时,它不起作用。请问为什么?

【问题讨论】:

  • 您是在实例化类并从 viewDidLoad 调用方法,还是从其他地方进行调用?
  • 我正在从 viewDidLoad 创建实例。 AmbientSounds *as = [[AmbientSounds alloc]init]; [作为playSound];在 playSound 中是我在上面写的代码的复制/粘贴:/
  • 尝试记录“as”以确保它不为零。
  • 刚试过:AS
  • 路径有问题?但是为什么它直接从 viewController 工作呢?对我来说没有意义。

标签: ios xcode audio


【解决方案1】:

这可能是因为您的实例在 viewDidLoad 方法超出范围后被释放。为 as 创建一个类型为 strong 的属性,看看是否可行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    • 2013-01-10
    相关资源
    最近更新 更多