Jak mogę odtwarzać plik dźwiękowy z AVFoundation w Swift
playground
? Idealnie byłoby, gdyby plik znajdował się w adresie URL, a nie na dysku lokalnym, ale nie jest to ważne.Odtwarzanie dźwięku na placu zabaw Swift
Odpowiedz
Sam się gmeram po ciemku, ale myślę, że może to być spowodowane ograniczeniem szybkich placów zabaw. Rozważmy następujący kod:
#!/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!)
}
Jeśli uruchomić ten szybki skrypt w terminalu, to działa dobrze i odtwarza plik MIDI, ale jeśli uruchomić kod na placu zabaw, można dostać
AVMIDIPlayer failed: Operacja nie mogła zostać zakończona. (com.apple.coreaudio.avfaudio błąd -1.)
Po stronie pozytywnej, możliwość uruchomienia go w terminalu pokazuje, że kod działa.
Otrzymuję te same wyniki ... – cfischer
To działa na projekcie, którego nie próbowałem na placu zabaw. Najpierw przeciągnij dźwięk do projektu i wybierz kopiowanie do miejsca docelowego, jeśli to konieczne, i zaznacz "dodaj do celu" do swojej aplikacji.
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. Odtwarzanie nut na Placu Swift
- 2. Jak uzyskać płótno na placu zabaw Swift
- 3. Jak przekonwertować Int do Double na placu zabaw Swift?
- 4. Jak mogę zobaczyć wyjątki na placu zabaw Swift?
- 5. Jak korzystać z Menedżera pakietów Swift na placu zabaw
- 6. Odtwarzanie dźwięku na iPadzie
- 7. Jak uzyskać interakcje użytkownika na placu zabaw ze Swiftem
- 8. Jak wziąć STDIN na plac zabaw Swift
- 9. Wyświetlanie mapy za pomocą narzędzia MapKit na placu zabaw Swift dla szybkiego podglądu?
- 10. Odtwarzanie dźwięku podczas kompilowania
- 11. Odtwarzanie dźwięku iPhone'a: wymusić na głośniku wewnętrznym?
- 12. Odtwarzanie dźwięku w .Net/C#
- 13. Odtwarzanie dźwięku w Apple Watchkit
- 14. Wyłączyć odtwarzanie dźwięku w AVPlayer?
- 15. Odtwarzanie lokalnego dźwięku w phonegap
- 16. Jednoczesne nagrywanie i odtwarzanie dźwięku
- 17. Odtwarzanie dźwięku wav jako wyjścia
- 18. Odtwarzanie dźwięku w notatniku ipython
- 19. Odtwarzanie dźwięku na iOS 9 w trybie cichym
- 20. Odtwarzanie (i odtwarzanie) dźwięku w telefonie komórkowym Safari
- 21. Nagrywanie dźwięku i odtwarzanie zmodulowanego dźwięku w systemie Android?
- 22. Jak sprawić, by czas realizacji Placu zabaw był tak szybki, jak gdybyśmy działali w aplikacji iOS?
- 23. Odtwarzanie dźwięku z karty przeglądarki INACTIVE
- 24. Odtwarzanie dźwięku i ponowne uruchamianie onclick
- 25. Odtwarzanie dźwięku w dodatku do przeglądarki Firefox
- 26. Odtwarzanie dźwięku przez górny głośnik (telefon)
- 27. Wstrzymano dźwięku rozpoczyna odtwarzanie automatycznie applicationWillEnterForeground:
- 28. Odtwarzanie dźwięku z ciągłego strumienia danych (iOS)
- 29. Android: Odtwarzanie dźwięku zasobu za pomocą WebView
- 30. Odtwarzanie dźwięku za pomocą formantów w iOS
Kod, który próbowałeś do tej pory? –
Spójrz na ten link http://stackoverflow.com/questions/24043904/creating-and-playing-a-sound-in-swift?rq=1 –
Nie jestem pewien, czy możesz. Na pewno można utworzyć nowy folder '' Resources' pod treścią playground' i dodatkowo plac zabaw, znajdzie je ze ścieżką coś takiego: odtwarzanego pliku: ///var/folders/74/d78g19sj65bc6z2n6gjw9n4r0000gn/T/com.apple. dt.Xcode.pg/applications/YourApp-67685-8.app/Want_You.mp3 ale 'avPlayer.prepareToPlay()' zawsze zwraca 'false'. –