菜鸟教程小白 发表于 2022-12-12 19:02:55

objective-c - 播放随机声音


                                            <p><p>如何在 xcode 中的 iOS 5 中播放随机声音?
我不断收到“抛出异常”错误。</p>

<p>我试过了:</p>

<pre><code>int randomNumber = arc4random() % 24 + 1;

NSString *tmpFileNameRandom = [ initWithFormat:@&#34;Sound%d&#34;, randomNumber];

NSString *fileName = [ pathForResource:tmpFileNameRandom ofType:@&#34;mp3&#34;];

AVAudioPlayer * soundPlayer = [ initWithContentsOfURL: error:nil];

;
;
</code></pre>

<p>谢谢!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>首先,将您的 ViewController.h 更改为</p>

<pre><code>#import &lt;UIKit/UIKit.h&gt;

@class AVAudioPlayer;

@interface ViewController : UIViewController

-(IBAction)PlayRandomSound;
@property (nonatomic, retain) AVAudioPlayer *soundPlayer;


@end
</code></pre>

<p>和 ViewController.m 的第一行到</p>

<pre><code>#import &#34;ViewController.h&#34;

#import &lt;AVFoundation/AVAudioPlayer.h&gt;


@implementation ViewController

@synthesize soundPlayer = _soundPlayer;


-(IBAction)PlayRandomSound{

    int randomNumber = arc4random() % 8 + 1;

    NSURL *soundURL = pathForResource: ofType:@&#34;mp3&#34;]];


    _soundPlayer = [ initWithContentsOfURL:soundURL error:nil];

    ;
    ;


    NSLog(@&#34;randomNumber is %d&#34;, randomNumber);
    NSLog(@&#34;tmpFilename is %@&#34;, soundURL);
}
</code></pre>

<p>编辑:我后来才注意到你没有使用 ARC,所以这段代码有一点泄漏。但它会开始。也许你应该在创建 ViewController 时将 _soundPlayer 设置为 nil 并稍后检查:如果它不是 nil:释放它并创建一个新的,否则只创建一个新的。或者,如果是新项目,您可以考虑切换到 ARC。</p></p>
                                   
                                                <p style="font-size: 20px;">关于objective-c - 播放随机声音,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/8975266/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/8975266/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: objective-c - 播放随机声音