草庐IT

avAudioPlayers

全部标签

swift - AVAudioPlayer如何重叠播放相同的声音?

此代码在点击按钮时播放声音,但如果再次按下按钮则取消之前的声音。我不希望这种情况发生我希望重复按下时相同的声音重叠。我相信这可能是因为使用了与我在互联网上看到的相同的AVAudioPlayer,但我是swift的新手,想知道如何在每次运行该方法时创建一个新的AVAudioPlayer,以便声音重叠。funcplaySound(sound:String){//Setthesoundfilename&extensionletsoundPath=NSURL(fileURLWithPath:NSBundle.mainBundle().pathForResource(sound,ofType:"

swift - 可以在变量声明中创建 AVAudioPlayer() 并避免可选/解包吗?

我正在播放存储在iOS应用程序Assets目录中的mp3文件,当我在应用程序范围内声明播放器时,我正在声明我的AVAudioPlayer。我的代码工作正常,但我想知道这是否是不好的做法,如果是,为什么。大多数播放音频的代码示例将AVPlayer声明为可选,但不在声明时创建播放器,如下所示:varaudioPlayer:AVAudioPlayer?我在下面实现的b/c没有任何对可选值或强制解包的引用(我自己只是在Swift中逐步提升,但我将其用作我的学生的早期“GetExcited”示例,因此他们可以在他们的第一个应用程序中播放媒体。希望将可选讨论推迟到以后)。//声明AVAudioPl

ios - swift sprite kit - AVAudioPlayer 不能同时播放多种声音

我正在尝试同时播放声音,但播放器只是在没有结束的情况下切断声音并开始播放新声音,我希望它在每次新声音开始时结束而不是切断。我现在有这个:letdropSound=NSURL(fileURLWithPath:NSBundle.mainbundle().pathForResource("drop",ofType:"mp3")!)varaudioPlayer=AVAudioPlayer()每次我想播放声音时我都会这样做varerror:NSError?audioPlayer=AVAudioPlayer(ContentsOfUrl:dropSound,error:&error)audioPla

ios - 快速恢复 AVAudioPlayer 中的声音

我正在尝试播放一段可以暂停、继续或停止的声音片段。我的暂停按钮起作用了,这个按钮的Action函数如下所示。但是我无法使我的简历功能正常工作。当我按下恢复按钮时,没有播放音频。我在网上阅读过,我能找到的唯一提示是使用prepareToPlay()函数并将shortStartTimeDelay设置为大于0.0的值。我已经尝试了这两个都无济于事。timeAtPause是一个NSTimeInterval类型的全局变量暂停按钮的Action函数如下:@IBActionfuncpauseAllAudio(sender:UIButton){timeAtPause=audioPlayer.curre

xcode - AVAudioPlayer 和 SKAction.playSoundFileNamed(...) 导致内存泄漏

我的游戏基本完成了。检查Xcode中的泄漏。发现我每次玩游戏都会泄漏大约0.3MB。然后去了仪器并查看了持久数据。罪魁祸首1:SKTexture,被调用了很多但没有持续增长罪魁祸首2:希望我记得确切的语法,它类似于AudioSource,并且在调用此行时发生:SKAction.playSoundFileNamed(...)所以我转到游戏的“设置”页面并关闭了声音。再次测试内存占用,稳定。还意识到AVAudioPlayer正在泄漏,因为音效和主题通过不同的机制运行。我尝试在关闭时将AVAudioPlayer的实例varbackgroundAudio:AVAudioPlayer!设置为ni

ios - AVAudioPlayer 在模拟器中播放录制的音频但不在手机上播放

我正在尝试创建一个可以简单地录制和播放音频的应用程序。我尝试了多种不同的播放音频的方法,但在iPhone6和iPhone8Plus上播放时似乎不起作用,但在模拟器上可以。错误:线程1:fatalerror:在展开可选值时意外发现nil当SoundPlayer尝试播放时会发生这种情况。控制台打印的错误是:错误域=NSOSStatusErrorDomain代码=2003334207“(空)”@IBOutletweakvarrecordBtn:UIButton!@IBOutletweakvarplayBtn:UIButton!varsoundRecorder:AVAudioRecorder!

swift - AVAudioPlayer 没有播放任何东西

我有一个tableViewCell,我想在其中播放通常为.m4a的声音。我在全局范围内声明了我的AVAudioPlayer实例,如下所示:varplayer=AVAudioPlayer()然后我下载我的声音,把它放在Documents的一个目录中。但是,当我尝试从目录播放我的声音文件时,我得到了这个错误:OpenfailedTheoperationcouldn’tbecompleted.(OSStatuserror2003334207.)这是我的代码我不知道你有什么问题。我在模拟器中找到了可以用QuickTimePlayer播放的文件。funcdownloadSound(_messag

Swift - AVAudioPlayer,声音无法正常播放

因为UILocalNotification在应用程序处于事件状态时未显示,我正在尝试配置一个UIAlertController并在它出现时播放一点声音。我在AppDelegate中处理通知/创建警报没问题。我的问题与声音有关。事实上,它不能正确播放。这是我目前所拥有的://...classAppDelegate:UIResponder,UIApplicationDelegate{varwindow:UIWindow?funcapplication(application:UIApplication,didFinishLaunchingWithOptionslaunchOptions:[

swift - AVaudioPlayer 返回 nil

我不知道该怎么办了。下面的代码在audioPlayer=AVAudioPlayer(contentsOfURL:newPath,error:&err)上崩溃这是我传递的文件的URLfile:///var/mobile/Containers/Data/Application/1174C37F-CB78-4AB5-9C69-E1B906B48D97/Documents/Rocket_002.mp3我也试过通过NSData传递文件,但它也不起作用。importAVFoundationclassPlayer:NSObject,AVAudioPlayerDelegate{varaudioPlay

ios - 如何在单例方法中实现 AVAudioPlayer?

这是我的代码:classSomeAudioManager:NSObject{classvarsharedInstance:SomeAudioManager{structStatic{staticvaronceToken:dispatch_once_t=0staticvarinstance:SomeAudioManager?=nil}dispatch_once(&Static.onceToken){Static.instance=SomeAudioManager()}returnStatic.instance!}funcaudioView(songname:NSString,format