菜鸟教程小白 发表于 2022-12-12 13:23:14

iphone - 音频文件在 iPhone 5 中无法播放


                                            <p><p>我使用一个代码来播放 .caf 音频文件,相同的代码在 iPhone 4s 和 iPad 2 上运行良好,但在 iPhone 5 上根本无法播放...</p>

<p>这是代码:</p>

<pre><code>-(IBAction)checkSound:(id)sender
{
    NSURL *url = resourcePath]]];

NSLog(@&#34;%@&#34;,url);

NSError *error;

self.audioPlayer = [ initWithContentsOfURL:url error:&amp;error];

self.audioPlayer.numberOfLoops = 0;

self.audioPlayer.volume = 1;


NSLog(@&#34;log audioplayer: %@&#34;,audioPlayer);

if (audioPlayer != nil)
{
    ;
    ;
}


if (audioPlayer.playing == NO)
{
    NSLog(@&#34;not playing, error: %@&#34;,error);
}


if([ fileExistsAtPath:@&#34;file://localhost/var/mobile/Applications/0D3F5169-8DB1-4398-A09A-DB2FBADF57EF/myApp.app/Lunatic.caf&#34;])
{
    NSLog(@&#34;file exist&#34;);
}
else
{
    NSLog(@&#34;file doesn&#39;t exist&#34;);
}


}
</code></pre>

<p>这是日志输出:</p>

<blockquote>
<p>2013-08-07 20:05:52.694 myApp file://localhost/var/mobile/Applications/0D3F5169-8DB1-4398-A09A-DB2FBADF57EF/myApp.app/Lunatic.caf
2013-08-07 20:05:52.697 myApp log audioplayer: (null)
2013-08-07 20:05:52.701 myApp not playing, error: Error Domain=NSOSStatusErrorDomain Code=-43 &#34;The operation couldn’t be completed. (OSStatus error -43.)&#34;
2013-08-07 20:05:52.703 myApp file doesn&#39;t exist</p>
</blockquote>

<p>如您所见,音频播放器日志给出“null”,错误日志显示错误 -43....
但我再说一遍...... iphone 4s 一切正常......</p>

<p>任何线索为什么会发生这种情况?他们是否对 iPhone 5 中的音频进行了一些更改?会不会是我的 iPhone 5 中的设置阻止了声音播放?任何帮助将不胜感激</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>在调用 play 之前,您是否调用了 <code></code>?您是否还仔细检查了 audioRoutes 以确保它在正确的 channel 中播放? </p>

<p>两个良好的健全性检查是:</p>

<p>1.) 调用 <code></code> 并在调用 play 后查看它是否返回 yes 或 no。 </p>

<p>2.) 设置 <code>AVAudioPlayerDelegate</code> 并等待 <code>audioPlayerDidFinishPlaying:</code> 上的回调,看看它是否在您的音频长度之后被调用。 </p>

<p> <a href="http://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVAudioPlayerClassReference/Reference/Reference.html" rel="noreferrer noopener nofollow">http://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVAudioPlayerClassReference/Reference/Reference.html</a> </p>

<p>编辑:
由于您的文件实际上没有播放,这很可能意味着您调用的路径有问题。</p>

<p>使用 NSLog 打印出您的路径,并使用以下命令检查文件是否实际存在:</p>

<pre><code>if([ fileExistsAtPath:yourPath])
{

}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 音频文件在 iPhone 5 中无法播放,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/18109273/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/18109273/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 音频文件在 iPhone 5 中无法播放