菜鸟教程小白 发表于 2022-12-12 16:24:01

ios - 升级到 Xcode5 后,AVAudioPlayer 在播放时崩溃


                                            <p><p><strong>请注意以下来自 Stephen 的精彩提示</strong>:AVAudioPlayer 在正常工作时会(出于某种原因!)<strong>抛出异常</strong>;很可能根本没有崩溃。</p>

<hr/>

<p>我有一个奇怪的问题。将我的项目升级到 Xcode5 后,应用程序在声音播放或 prepareToPlay 时崩溃。</p>

<pre><code>NSString *path = [ pathForResource:@&#34;test&#34; ofType:@&#34;mp3&#34;];
AVAudioPlayer *snd = [ initWithContentsOfURL: error:NULL];

NSLog(@&#34;sound = nil? %d&#34;,snd == nil); // 0
NSLog(@&#34;file = %@&#34;,snd.url.filePathURL.lastPathComponent); //test.mp3
NSLog(@&#34;duration %f&#34;,snd.duration); //96.213333
</code></pre>

<p>在以上几行之后:<br/>
1) snd 不是 nil - 没关系<br/>
2) snd.url.filePathURL.lastPathComponent 返回正确的文件名(test.mp3),- 没关系<br/>
3) 持续时间为 96.213333 - 没关系<br/></p>

<p>所以对象存在并且加载了声音(持续时间还可以)</p>

<p>那我做</p>

<pre><code>
</code></pre>

<p>然后它崩溃了</p>

<p>如果我这样做了</p>

<pre><code>
</code></pre>

<p>它也崩溃了:(</p>

<p>有人知道它为什么会崩溃吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>试试这个代码。它正在工作,我在我的代码中使用过
它已经在 Xcode 5 上进行了测试并且可以工作:</p>

<pre><code>NSURL* url = [ URLForResource:@&#34;test&#34; withExtension:@&#34;mp3&#34;];
NSAssert(url, @&#34;URL is valid.&#34;);
NSError* error = nil;
audioPlayer = [ initWithContentsOfURL:url error:nil];
if(!audioPlayer)
{
    NSLog(@&#34;Error creating player: %@&#34;, error);
}
else
{
    ;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 升级到 Xcode5 后,AVAudioPlayer 在播放时崩溃,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/19989270/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/19989270/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 升级到 Xcode5 后,AVAudioPlayer 在播放时崩溃