Tôi làm cách nào để phát tệp âm thanh với AVFoundation trong một Swift
playground
? Lý tưởng nhất, tệp sẽ nằm trong một URL, không phải trong ổ đĩa cục bộ, nhưng điều đó không quan trọng.Phát âm thanh trong Playground Swift
Trả lời
Tôi đang dò dẫm xung quanh trong bóng tối trên chính bản thân mình, nhưng tôi nghĩ có thể do một số hạn chế của sân chơi nhanh. Hãy xem xét mã này:
#!/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!)
}
Nếu chúng ta chạy nhanh kịch bản tại nhà ga, nó hoạt động tốt và chơi các tập tin midi, nhưng nếu bạn chạy các mã trong một sân chơi, bạn sẽ có được
AVMIDIPlayer không thành công: Thao tác không thể hoàn tất. (com.apple.coreaudio.avfaudio error -1.)
Về mặt tích cực, có thể chạy nó trong terminal cho biết mã không hoạt động.
Tôi nhận được kết quả tương tự ... – cfischer
Tính năng này hoạt động trên dự án mà tôi chưa thử trên Sân chơi. Trước tiên, kéo âm thanh của bạn vào dự án của bạn và chọn sao chép cho điểm đến của bạn nếu cần và chọn "thêm vào mục tiêu" vào ứng dụng của bạn.
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. Phát nốt nhạc trong Swift Playground
- 2. Phát video với AVPlayer trong Swift Playground?
- 3. Cocos2d-Swift: Phát âm thanh bị lỗi
- 4. NSTimer.scheduledTimerWithTimeInterval trong Swift Playground
- 5. Làm thế nào để phát âm thanh trong nền Swift?
- 6. Mở Swift Playground Book
- 7. Phát âm thanh và âm thanh thuật toán
- 8. Phát luồng âm thanh an toàn bằng Âm thanh HTML5
- 9. Ghi âm thanh ra bằng Swift
- 10. Phát âm thanh trên iPad
- 11. Phát Âm thanh bằng HTML
- 12. Phát âm thanh với SoundPool
- 13. Phát Âm thanh trong kịch bản Perl
- 14. Phát âm thanh nổi trong android
- 15. phát âm thanh từ luồng trong android
- 16. Phát âm thanh trong Apple Watchkit
- 17. Pygame, âm thanh không phát
- 18. Phát âm thanh với HTML5
- 19. Cách phát tệp âm thanh
- 20. Phát lại âm thanh Ruby
- 21. AudioServicesPlaySystemSound không phát âm thanh
- 22. Phát Âm thanh với J2ME
- 23. Định cỡ lượt xem trực tiếp trong Swift Playground
- 24. iphone: đang phát danh sách phát âm thanh trong nền?
- 25. Ghi lại âm thanh và phát âm thanh được điều chế trong Android?
- 26. Không thể tải tài nguyên âm thanh Swift SKAction
- 27. Cách phát âm thanh bằng Python KHÔNG làm gián đoạn âm nhạc/các âm thanh khác phát khi đang chơi
- 28. AVSpeechSyntizer bộ phát âm cho tệp âm thanh
- 29. Ghi và phát âm thanh Đồng thời
- 30. phát âm thanh từ internet bằng AVAudioPlayer
Bất kỳ mã nào bạn đã thử cho đến thời điểm này? –
Xem liên kết này http://stackoverflow.com/questions/24043904/creating-and-playing-a-sound-in-swift?rq=1 –
Tôi không chắc chắn rằng bạn có thể. Để chắc chắn bạn có thể tạo thư mục mới 'Tài nguyên' bên dưới nội dung' sân chơi' và thêm Sân chơi sẽ tìm đường dẫn đó như sau: phát tệp: ///var/folders/74/d78g19sj65bc6z2n6gjw9n4r0000gn/T/com.apple. dt.Xcode.pg/applications/YourApp-67685-8.app/Want_You.mp3 nhưng 'avPlayer.prepareToPlay()' sẽ luôn trả về 'false'. –