Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
たった数分でできる着信音の鳴らし方
Search
Kotaro TAJIMA
August 18, 2024
Programming
350
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
たった数分でできる着信音の鳴らし方
Kotaro TAJIMA
August 18, 2024
More Decks by Kotaro TAJIMA
See All by Kotaro TAJIMA
AndroidXR向けにアプリを作るには
kotambourine
0
580
Other Decks in Programming
See All in Programming
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
280
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
Agents on Rails - Rails at Scale 2026
irinanazarova
0
570
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
28
33k
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.5k
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.6k
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
980
Next.js: The final boss of Web Performance
guaca
0
280
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
The browser strikes back
jonoalderson
0
1.8k
Google's AI Overviews - The New Search
badams
0
1.6k
Speed Design
sergeychernyshev
33
2.2k
Thoughts on Productivity
jonyablonski
76
5.4k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Designing Experiences People Love
moore
143
24k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
Technical Leadership for Architectural Decision Making
baasie
3
600
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
Transcript
たった数分でできる 着信音の鳴らし方 speaker: こた (@kotambourine) in DroidKaigi.collect { #11@Sapporo }
あじぇんだ! • はじめに • Ringtone • RingtoneManager • まとめ •
自己紹介 2
はじめに 3
4 このLTは... 皆さんのリアクションを 歓迎します (無いとスピーカーが悲しい、とても )
5 閑話休題
6 皆さん着信音は好きですか?
7 皆さん着信音は好きですか? スッコココ... ピロンッ... ラ◯ンッ...
8 好きなタイミングで鳴らすと楽しい
9 n = 1(私調べ)
10 着信音を鳴らしたいニーズに答えて
たった数分でできる 着信音の鳴らし方 speaker: こた (@kotambourine) in DroidKaigi.collect { #11@Sapporo }
たった数分 でできる 着信音の鳴らし方 speaker: こた (@kotambourine) in DroidKaigi.collect { #11@Sapporo
}
// URIを取得 val uri: Uri = RingtoneManager.getDefaultUri( RingtoneManager.TYPE_RINGTONE ) //
Ringtoneを取得して val ringtone: Ringtone = RingtoneManager.getRingtone(context, uri) // 鳴らす! ringtone.play() 13
// URIを取得 val uri: Uri = RingtoneManager.getDefaultUri( RingtoneManager.TYPE_RINGTONE ) //
Ringtoneを取得して val ringtone: Ringtone = RingtoneManager.getRingtone(context, uri) // 鳴らす! ringtone.play() 14
// URIを取得 val uri: Uri = RingtoneManager.getDefaultUri( RingtoneManager.TYPE_RINGTONE ) //
Ringtoneを取得して val ringtone: Ringtone = RingtoneManager.getRingtone(context, uri) // 鳴らす! ringtone.play() 15
// URIを取得 val uri: Uri = RingtoneManager.getDefaultUri( RingtoneManager.TYPE_RINGTONE ) //
Ringtoneを取得して val ringtone: Ringtone = RingtoneManager.getRingtone(context, uri) // 鳴らす! ringtone.play() 16
17 おしまい! ご清聴ありがとうございました!
18 嘘ですもう少し掘り下げます
Ringtone 19
20 Ringtoneとはなんぞや 着信音を簡単に鳴らすためのクラス API Level 1からいる古参勢 play, stop関数と数個の変数という単純な構成 https://developer.android.com/reference/kotlin/android/media/Ringtone
RingtoneManager 21
22 RingtoneManagerとはなんぞや Ringtoneを管理するクラス 基本的にはこのクラスを通じて諸々を動かす 端末内の有効な着信音を取得したりRingtoneの再 生を強制終了したりできる https://developer.android.com/reference/kotlin/android/media/RingtoneManager
23 Ringtoneのデフォルトで存在する種類 RingtoneManager.TYPE_ALARM RingtoneManager.TYPE_RINGTONE RingtoneManager.TYPE_NOTIFICATION https://developer.android.com/reference/kotlin/android/media/RingtoneManager
24 聞いてみよう
25 着信音の一覧を取得する // RingtoneManagerのインスタンス生成 val rm = RingtoneManager(context) // TYPE_ALLをセット
rm.setType(RingtoneManager.TYPE_ALL) // カーソルを取得(内部では表で管理) val cursor: Cursor = rm.cursor https://developer.android.com/reference/kotlin/android/media/RingtoneManager
26 着信音の一覧を取得する // RingtoneManagerのインスタンス生成 val rm = RingtoneManager(context) // TYPE_ALLをセット
rm.setType(RingtoneManager.TYPE_ALL) // カーソルを取得(内部では表で管理) val cursor: Cursor = rm.cursor https://developer.android.com/reference/kotlin/android/media/RingtoneManager
27 着信音の一覧を取得する // RingtoneManagerのインスタンス生成 val rm = RingtoneManager(context) // TYPE_ALLをセット
rm.setType(RingtoneManager.TYPE_ALL) // カーソルを取得(内部では表で管理) val cursor: Cursor = rm.cursor https://developer.android.com/reference/kotlin/android/media/RingtoneManager
28 着信音の一覧を取得する // RingtoneManagerのインスタンス生成 val rm = RingtoneManager(context) // TYPE_ALLをセット
rm.setType(RingtoneManager.TYPE_ALL) // カーソルを取得(内部では表で管理) val cursor: Cursor = rm.cursor https://developer.android.com/reference/kotlin/android/media/RingtoneManager
29 着信音の情報を取得する // カーソルのポジションを取得 val position = cursor.position // getString関数でタイトルなどを取得
val hoge = cursor.getString( RingtoneManager.HOGE_COLUMN_INDEX ) https://developer.android.com/reference/kotlin/android/media/RingtoneManager
30 着信音の情報を取得する // カーソルのポジションを取得 val position = cursor.position // getString関数でタイトルなどを取得
val hoge = cursor.getString( RingtoneManager.HOGE_COLUMN_INDEX ) https://developer.android.com/reference/kotlin/android/media/RingtoneManager
31 Cursorのpositionを取得する // カーソルのポジションを取得 val position = cursor.position // Ringtoneインスタンスを取得
val ringtone = rm.getRingtone(position) ringtone.play() https://developer.android.com/reference/kotlin/android/media/RingtoneManager
32 Cursorのpositionを取得する // カーソルのポジションを取得 val position = cursor.position // Ringtoneインスタンスを取得
val ringtone = rm.getRingtone(position) ringtone.play() https://developer.android.com/reference/kotlin/android/media/RingtoneManager
33 Cursorのpositionを取得する // カーソルのポジションを取得 val position = cursor.position // Ringtoneインスタンスを取得
val ringtone = rm.getRingtone(position) ringtone.play() https://developer.android.com/reference/kotlin/android/media/RingtoneManager
34 別アプリの着信音が取得できる
35 ので!
まとめ 36
37 着信音はRingtone(Manager)クラスで 簡単に鳴らすことができるよ!
自己紹介 38
39 こた @kotambourine Affiliation: 公立はこだて未来大学 複雑系知能学科 複雑系コース 4年 From: 札幌市清田区,
北海道大麻(おおあさ)高等学校 Love: カービィ, Kotlin(Android, Web, Desktop) Link: https://kota-shiokara.github.io
時間が余ったら経緯とか 話すよコーナー 40