Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
たった数分でできる着信音の鳴らし方
Search
Kotaro TAJIMA
August 18, 2024
Programming
0
280
たった数分でできる着信音の鳴らし方
Kotaro TAJIMA
August 18, 2024
Tweet
Share
More Decks by Kotaro TAJIMA
See All by Kotaro TAJIMA
AndroidXR向けにアプリを作るには
kotambourine
0
230
Other Decks in Programming
See All in Programming
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.3k
Catch Up: Go Style Guide Update
andpad
0
220
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
220
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
1k
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
210
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
180
詳しくない分野でのVibe Codingで困ったことと学び/vibe-coding-in-unfamiliar-area
shibayu36
3
4.9k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
300
株式会社 Sun terras カンパニーデック
sunterras
0
290
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
830
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
170
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Embracing the Ebb and Flow
colly
88
4.8k
Balancing Empowerment & Direction
lara
4
690
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Visualization
eitanlees
149
16k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
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