質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

1回答

1020閲覧

Swift アラーム機能について

ives

総合スコア19

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2018/08/09 14:59

'''import UIKit
import AVFoundation

class SecondViewController: UIViewController,AVAudioPlayerDelegate {

var timer = Timer() var startTime:Double = 0.0 var audioPlayer: AVAudioPlayer! @IBOutlet weak var label: UILabel! @IBAction func `switch`(_ sender: UISwitch) { if (sender.isOn) { //switchがonならtimer起動 timer = Timer.scheduledTimer(withTimeInterval: 1 * 10, repeats: false, block: { timer in //15分後にtimerの停止を行う timer.invalidate() print("stopped") //15分後にアラーム鳴る self.audioPlayer.play(atTime:1 * 10) }) } else { //offならtimer停止 timer.invalidate() } } override func viewDidLoad() { super.viewDidLoad() if let url=Bundle.main.url(forResource:"1",withExtension:".mp3" ){ //上記の***の箇所でファイル名と拡張子を指定し変数urlに代入します。 do { audioPlayer=try AVAudioPlayer(contentsOf:url) audioPlayer?.play(atTime:1 * 10) //処理が成功したらaudioPlayerに指定したurlを代入し、playメソッドを呼び出します。 }catch{ audioPlayer=nil } }else{ fatalError("Url is nil") //URLが空の場合など処理が走らなかった場合はエラー文を表示します。 } audioPlayer.delegate = (self as AVAudioPlayerDelegate) audioPlayer.prepareToPlay() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. }

}'''
UISwitchを押すと10秒後にアラームが鳴るアプリを作っていますが。実行するとAll outputにstopと表示だけされアラームが鳴りません。色々調べてここまでやっとたどり着きましたがこのままだと完成がいつになるか分からないので皆さんの知恵をお借りできたら幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

このプログラムの場合、play(atTime:) は不適当だと思います。

素直に play() を使用してはいかがでしょうか。

投稿2019/03/24 10:43

errolizer

総合スコア441

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問