Добавяне на аудио плейър към възел в SceneKit

Имам някои проблеми с добавянето на аудио плейър към възел. По някаква причина получавам изключение и приложението ми спира. Ето как изглежда моят код

    let node = scene.rootNode.childNodeWithName("box", recursively: true)!

    let source = SCNAudioSource(fileNamed: "test.mp3")
    source.loops = true
    source.volume = 2
    source.positional = true
    source.shouldStream = true
    source.load()
    let player = SCNAudioPlayer(source: source)

    node.addAudioPlayer(player) 

Може ли някой да ми помогне да разбера какъв е проблемът?

Редактиране: Изключение:

Опитайте да използвате SCNAction. Или се уверете, че името на аудио файла е правилно.


person Alec Firtulescu    schedule 12.06.2015    source източник
comment
2015-06-12 10:44:29.202 asd[10480:2157476] 10:44:29.202 ГРЕШКА: AVAudioNodeImpl.h:39: AVAE_CheckNodeHasEngine: изискваното условие е невярно: _engine != нула 2015-06-12 10:44:29.2 08 asd[10480:2157476] * Прекратяване на приложението поради неуловено изключение 'com.apple.coreaudio.avfaudio', причина: 'задължителното условие е невярно: _engine != nil' * Първо хвърляне на стека за извикване: ( 0 CoreFoundation 0x000000010ca18885 exceptionPreprocess + 165 1 libobjc.A.dylib 0x000000010e9afdf1 objc_exception_throw + 48 2 CoreFoundation 0x000000010ca186ea +[NSException raise:format:arguments:] + 106 3 libAVFAudio.dylib 0x0000000115549efe libAVFAudio.dylib + 98046 4 libAVFAudio.dylib 0x000000011558b4fd libAVFAudio .dylib + 365821 5 libAVFAudio.dylib 0x000000011558aaa5 libAVFAudio.dylib + 363173 6 SceneKit 0x000000010d3695eb C3DTransactionFlush + 1967 7 SceneKit 0x000000010d369 9e9 C3DTransactionCommit + 218 8 SceneKit 0x000000010d2f7f6e -[SCNRenderer setPointOfView:] + 4677 9 SceneKit 0x000000010d2f8c05 -[SCNRenderer setScene:completionHandler:] + 213 10 SceneKit 0x000000010d354920 -[SCNView setScene:] + 319 11 asd 0x000000010c8338b2 _TFC3asd18GameViewController11viewDidLoadfS0_FT_T_ + 2866 12 asd 0x000000010c833 ba2 _TToFC3asd18GameViewController11viewDidLoadfS0_FT_T_ + 34 13 UIKit 0x000000010d7bbd65 -[UIViewController loadViewIfRequired] + 860 14 UIKit 0x000000010d7bc0b4 -[UIViewController изглед] + 27 15 UIK it 0x000000010d69f3d4 -[UIWindow addRootViewControllerViewIfPossible ] + 61 16 UIKit 0x000000010d69fad1 -[UIWindow _setHidden:forced:] + 302 17 UIKit 0x000000011c867717 UIKit + 247575 18 UIKit 0x000000010d6b0ff8 -[UIWindow makeKeyAnd Visible] + 43 19 UIKit 0x000000010d63302b -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 3545 20 UIKit 0x000000010d638ef0 -[ UIApplication _runWithMainScene:transitionContext:completion:] + 1755 21 UIKit 0x000000010d63673f -[UIApplication workspaceDidEndTransaction:] + 188 22 FrontBoardServices 0x0000000116052d7b FrontBoardServices + 1631 95 23 FrontBoardServices 0x0000000116053118 FrontBoardServices + 164120 24 CoreFoundation 0x000000010c9430f1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17 25 CoreFoundation 0x000 000010c938eac __CFRunLoopDoSources0 + 556 26 CoreFoundation 0x000000010c938363 __CFRunLoopRun + 867 27 CoreFoundation 0x000000010c937d78 CFRunLoopRunSpecific + 488 28 UIKit 0x000000010d636091 -[UIApplication _run] + 402 29 UIKit 0x000000010d63a79b UIApplicationMain + 171 30 asd 0x000000010c83624d main + 109 31 libdyld.dylib 0x000000010f3a0a05 libdyld.dylib + 10757 32 ? ?? 0x0000000000000001 0x0 + 1 ) libc++abi.dylib: прекратяване с неуловено изключение от тип NSException (lldb)   -  person David Rönnqvist    schedule 12.06.2015


Отговори (1)


Какво изключение получавате?

    let source = SCNAudioSource(fileNamed: "SoundFile.mp3")
    let action = SCNAction.playAudio(source!, waitForCompletion: true)
    node.runAction(action)
person Jeff    schedule 25.08.2017