Come posso riprodurre un file audio con AVFoundation in un Swift
playground
? Idealmente, il file si troverebbe in un URL, non nell'unità locale, ma non è importante.Riproduzione di un suono in uno Swift Playground
risposta
Sto girovagando nel buio su questo anch'io, ma penso che possa essere dovuto a qualche limitazione di campi da gioco veloci. Considerate questo codice:
#!/usr/bin/swift
import Cocoa
import AVFoundation
var error: NSError?
println("Hello, Audio!")
var url = NSURL(fileURLWithPath: "/Users/somebody/myfile.mid") // Change to a local midi file
var midi = AVMIDIPlayer(contentsOfURL: url, soundBankURL: nil, error: &error)
if midi == nil {
if let e = error {
println("AVMIDIPlayer failed: " + e.localizedDescription)
}
}
midi.play(nil)
while midi.playing {
// Spin (yeah, that's bad!)
}
Se corriamo questo rapido sceneggiatura nel terminale, funziona benissimo e riproduce il file MIDI, ma se si esegue il codice in un parco giochi, si ottiene
AVMIDIPlayer non riuscito: impossibile completare l'operazione. (errore com.apple.coreaudio.avfaudio -1.)
Sul lato positivo, essere in grado di eseguirlo in un terminale indica che il codice funziona.
Sto ottenendo gli stessi risultati ... – cfischer
Questo funziona su un progetto che non ho provato su Playground. Per prima cosa trascina il suono sul tuo progetto e, se necessario, scegli di copiare per la tua destinazione e seleziona "aggiungi alla destinazione" alla tua app.
import Cocoa
import AVFoundation
var beepSound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("beep", ofType: "aif")!)
func initBeep(){
beepPlayer = AVAudioPlayer(contentsOfURL: beepSound, error: nil)
beepPlayer.prepareToPlay()
}
func playBeepSound(){
beepPlayer.play()
}
func applicationDidFinishLaunching(aNotification: NSNotification?) {
initBeep()
}
@IBAction func btnPlayBeepSound(sender: AnyObject) {
playBeepSound()
}
- 1. Riproduci note musicali in Swift Playground
- 2. Come riaprire l'output della console in uno Swift Playground?
- 3. Riproduzione di un suono in un componente aggiuntivo di Firefox
- 4. Riproduzione di un suono in un notebook ipython
- 5. Xcode 6 Beta/Swift - Playground non aggiornato
- 6. Android: riproduzione di un suono della risorsa tramite WebView
- 7. Punto di interruzione del debug in Swift Playground?
- 8. Cocos2d-Swift: riproduzione di suoni in crash
- 9. Come convertire Int in Double nel playground Swift?
- 10. Riproduzione di uno stream ogg in iOS
- 11. Riproduzione di un suono da un buffer generato in un Windows 8 app
- 12. Riproduzione video GPUImmagine e swift
- 13. Come determinare se un codice Swift è in esecuzione all'interno di XCode Playground
- 14. Riproduzione di un suono da una forma d'onda memorizzata in una matrice
- 15. La riproduzione video dà schermo nero ma con suono
- 16. Swift, come riprodurre il suono quando si preme un pulsante
- 17. riproduzione di file audio uno dopo l'altro
- 18. API Web Audio: come posso riavviare la riproduzione di un suono?
- 19. Riproduzione audio in scrittura Perl
- 20. Come viene riprodotto un suono?
- 21. Riproduzione di suoni in iPhone SDK?
- 22. Come posso includere la mia app come modulo in Swift Playground?
- 23. Riproduzione di un suono quando si fa clic con il pulsante su Android
- 24. Il codice Swift 2.0 funziona in Xcode ma non in Playground
- 25. Riproduci suono su iOS 9 in modalità silenziosa
- 26. Come iniziare suono dopo suono in soundmanager2
- 27. Playground Xcode: Impossibile ottenere l'estensione sandbox
- 28. Avanzamento della riproduzione audio come UISlider in Swift
- 29. Riproduzione di un suono in C++ ... Tuttavia, il gioco si interrompe mentre viene riprodotto il suono ... come posso interrompere questo ritardo?
- 30. UIImage non rendering in Xcode 6.3.1 Playground
Qualche codice che hai provato fino ad ora? –
Guarda questo link http://stackoverflow.com/questions/24043904/creating-and-playing-a-sound-in-swift?rq=1 –
Non sono sicuro che tu possa. Si può creare una nuova cartella 'Risorse' sotto il contenuto di' playground' e l'ulteriore Playground lo troverà con un percorso simile a: riproduzione file: ///var/folders/74/d78g19sj65bc6z2n6gjw9n4r0000gn/T/com.apple. dt.Xcode.pg/applications/YourApp-67685-8.app/Want_You.mp3 ma 'avPlayer.prepareToPlay()' restituirà sempre 'false'. –