複数のボタンを追加して専用のサウンドを再生しようとしています。ボタン1はサウンド1を再生し、ボタン2はサウンド2を再生し、ボタン3はサウンド3を再生します。私は以下のコードを使用して試しました:複数のサウンドをすばやく再生する
import UIKit
import AVFoundation
class ViewController: UIViewController {
var PlaySound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("tea-pot-whistle", ofType: "wav")!)
var Sound1audioPlayer = AVAudioPlayer()
var pianoSound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("wind_1234", ofType: "wav")!)
var Sound2audioPlayer = AVAudioPlayer()
var pianoSound2 = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Evil_Laugh", ofType: "wav")!)
var Sound3audioPlayer = AVAudioPlayer()
@IBOutlet weak var Btn1 : UIButton!
@IBOutlet weak var Btn2 : UIButton!
@IBOutlet weak var Btn3 : UIButton!
@IBAction func likedThis(sender: UIButton) {
if (Btn1.tag == 1){
Sound1audioPlayer.play()
}
if(Btn2.tag == 2){
Sound2audioPlayer.play()
}
if (Btn3.tag == 3){
Sound3audioPlayer.play()
}
/*
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"givewater", CFSTR ("wav"), NULL);
UInt32 SoundID;
AudioServicesCreateSystemSoundID(soundFileURLRef, &SoundID);
AudioServicesPlaySystemSound(SoundID);*/
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
Btn1.tag = 1;
Btn2.tag = 2;
Btn3.tag = 3;
Sound1audioPlayer = try! AVAudioPlayer(contentsOfURL: pianoSound)
Sound2audioPlayer = try! AVAudioPlayer(contentsOfURL: PlaySound)
Sound3audioPlayer = try! AVAudioPlayer(contentsOfURL: pianoSound2)
Sound1audioPlayer.prepareToPlay()
Sound2audioPlayer.prepareToPlay()
Sound3audioPlayer.prepareToPlay()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
このコードはサウンドを再生しますが、どのボタンが押されたかによって3つすべてを再生します。私はすぐに新しいです、客観的なcで私は各ボタンのために各IBActionを書いていました。次に、すべてのボタンを1つのアクションに結びつけるようにコードを修正し、タグを使用してどのボタンが押されたかを判断しました。私はこのタイプの統合を迅速に行うことができますか?どんな助けでも大歓迎です。
を助ける
・ホープ音。あなたのコードをよりコンパクトにする – Paulw11
あなたの質問を少しはっきりさせてください、私はそれを2度読んで、あなたがするべきことを言うように聞こえますが、明らかにそうではありません。特にこの部分は: "このコードは音を演奏しますが、押されたボタンに応じて3つすべてを演奏します。" – CherryDT
申し訳ありませんが、3つのボタンのいずれかが押されたときに、「お気に入り」機能のすべてのサウンドが同時に再生されることを意味しました。以下のライオンが提供した答えは注目されました。 – JoeShmoe