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

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

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

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

Q&A

解決済

1回答

1055閲覧

[swift]アラーム音を鳴らす機能の付与

SKMT

総合スコア57

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

0グッド

0クリップ

投稿2017/12/26 00:37

編集2017/12/26 05:31

###前提・実現したいこと
タイマーを作っているのですが、アラーム音を鳴らすコードが書けなくて困っています。iPhoneにデフォで入ってるアラーム1種類、できれば数種類、欲を言えば、musicの音楽まで設定できればいいなと思ってます。

###発生している問題・エラーメッセージ
appdelegateの方は難しくてエラー処理してることくらいしか分かりませんでした。
scehdulerの方も変数?がかろうじてわかるくらいで何をしているかがわからないです

###該当のソースコード
scheduler.swiftの一部分

func setNotificationWithDate(_ date: Date, onWeekdaysForNotify weekdays:[Int], snoozeEnabled:Bool, onSnooze: Bool, soundName: String, index: Int) { let AlarmNotification: UILocalNotification = UILocalNotification() AlarmNotification.alertBody = "Wake Up!" AlarmNotification.alertAction = "Open App" AlarmNotification.category = "myAlarmCategory" //アラームの音楽を設定 AlarmNotification.soundName = soundName + ".mp3" //時間の設定 AlarmNotification.timeZone = TimeZone.current let repeating: Bool = !weekdays.isEmpty AlarmNotification.userInfo = ["snooze" : snoozeEnabled, "index": index, "soundName": soundName, "repeating" : repeating] //repeat weekly if repeat weekdays are selected //no repeat with snooze notification if !weekdays.isEmpty && !onSnooze{ AlarmNotification.repeatInterval = NSCalendar.Unit.weekOfYear } let datesForNotification = correctDate(date, onWeekdaysForNotify:weekdays) syncAlarmModel() for d in datesForNotification { if onSnooze { alarmModel.alarms[index].date = Scheduler.correctSecondComponent(date: alarmModel.alarms[index].date) } else { alarmModel.alarms[index].date = d } AlarmNotification.fireDate = d UIApplication.shared.scheduleLocalNotification(AlarmNotification) } setupNotificationSettings() }

###試したこと
https://github.com/natsu1211/Alarm-ios-swift
のプログラムのscheduler.swiftとappdelegate.swiftを読んで理解しようとしているのですが、難しくて困っているので助けて欲しいです。よろしくお願いします。

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

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

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

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

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

t_obara

2017/12/26 04:54

参考となるプログラムをみて、どのような点まで理解できて、どの点が難しいと感じているかなどをご提示されると適切な回答が得られやすいかと思います。ビルドして動かせる状態で公開していただいているので、実際に動作させ、どのタイミングで鳴らしているのかは理解できているのでしょうか?
fuzzball

2017/12/26 05:36

単純に曲やSEを鳴らしたいのであればAVAudioPlayerなどを調べた方がいいと思いますが。
SKMT

2017/12/26 18:25

avaudioplayerで調べてみて音楽の鳴らし方はなんとなく分かりました。SEもその他の音楽と同様にmp3ファイルを用意しないといけない感じですか?
guest

回答1

0

ベストアンサー

アラーム音を鳴らすコードが書けなくて困っています

AudioToolbox のフレームワークにあるAudioServicesPlaySystemSoundを使うのはどうでしょう

// shutter var soundIdRing:SystemSoundID = 1108 // bell //var soundIdRing:SystemSoundID = 1000 // update //var soundIdRing:SystemSoundID = 1336 if let soundUrl = CFBundleCopyResourceURL(CFBundleGetMainBundle(), nil, nil, nil){ AudioServicesCreateSystemSoundID(soundUrl, &soundIdRing) AudioServicesPlaySystemSound(soundIdRing) }

リンク内容

投稿2017/12/27 02:13

aja

総合スコア3733

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

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

SKMT

2017/12/27 04:51

やってみます!ありがとうございます!このフレームワークはどこかでダウンロードするんですか?リンク先を見てもわからないのですが、、
SKMT

2017/12/27 05:09

addのとこで出来ました!すみません!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問