使用 8 个不同 .wav 文件的单个按钮的随机声音发生器。每个文件命名为sound1.wav、sound2.wav.... sound8.wav
Posted
技术标签:
【中文标题】使用 8 个不同 .wav 文件的单个按钮的随机声音发生器。每个文件命名为sound1.wav、sound2.wav.... sound8.wav【英文标题】:Random sound generator for a single button that uses 8 different .wav files. Each file is named sound1.wav, sound2.wav.... sound8.wav 【发布时间】:2020-04-29 02:27:15 【问题描述】:从其他 *** 帖子中获得了我的大部分信息,但没有任何帮助。
import UIKit
import AVFoundation
class FaceButtonScreen: UIViewController
@IBOutlet weak var mainButton1: UIButton!
var audioPlayer: AVAudioPlayer = AVAudioPlayer()
不确定数组是否正确
var arrayOfSounds = ["sound1", "sound2", "sound3", "sound4", "sound5", "sound6", "sound7", "sound8"]
func setupAudioPlayer(file: NSString, type: NSString)
let path = Bundle.main.path(forResource: file as String, ofType: type as String)
let url = NSURL.fileURL(withPath: path!)
do
try audioPlayer = AVAudioPlayer(contentsOf: url)
catch
print("Player not available")
这里有一个连接到按钮的不同功能,但是 显示错误
func faceButtonTapped(_ sender: UIButton)
let range: UInt32 = UInt32(arrayOfSounds.count)
let number = Int(arc4random_uniform(range))
let sound = arrayOfSounds.randomElement()
self.setupAudioPlayer(arrayOfSounds[number], type: ".wav")
self.audioPlayer?.play()
//I need to understand how to complete the array and connect the sound files; any
help would be greatly appreciated
【问题讨论】:
【参考方案1】:这是我挖出的一些 Swift 代码:
let url = Bundle.main.url(forResource: "sound1", withExtension: "wav")
我想我看到了问题: 您将类型传递为“.wav”而不是“wav”
回答 • 删除字符串中的句点:“.wav”
【讨论】:
以上是关于使用 8 个不同 .wav 文件的单个按钮的随机声音发生器。每个文件命名为sound1.wav、sound2.wav.... sound8.wav的主要内容,如果未能解决你的问题,请参考以下文章
在 C 中使用 ALSA 以不同的音量播放多个 wav 文件
在 Python 中用 24 位数据从立体声 wav 文件 wav 中读取单个通道的数据