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
Introduction to New Cast SDK (v3) for iOS
Search
Daichi Furiya (Wasabeef)
September 02, 2016
Programming
650
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introduction to New Cast SDK (v3) for iOS
Daichi Furiya (Wasabeef)
September 02, 2016
More Decks by Daichi Furiya (Wasabeef)
See All by Daichi Furiya (Wasabeef)
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
6
2.9k
About Flutter Architecture
wasabeef
1
320
2023 Flutter/Dart Summary
wasabeef
0
140
I/O Extended 2023 - Dart と Flutter の新機能
wasabeef
0
240
I/O Extended 2023 - Flutter 活用事例
wasabeef
10
3.1k
What it Takes to be a Flutter Developer
wasabeef
0
260
FlutterKaigi 2022 Keynote
wasabeef
1
740
Flutter Hooks を使ったアプリ開発 / App Development with the Flutter Hooks
wasabeef
2
1.5k
Flutter 2021 の振り返りと今後のアプリ開発に向けて / Looking back on Flutter 2021 and for future app development.
wasabeef
4
2.2k
Other Decks in Programming
See All in Programming
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.8k
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
580
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
670
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.9k
SlackアプリとLambdaの 連携を構築した話
pawn_4_s
1
130
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
150
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
5
490
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
220
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.9k
テーブルをDELETEした
yuzneri
0
150
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
130
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Making Projects Easy
brettharned
120
6.7k
Test your architecture with Archunit
thirion
2
2.3k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
430
So, you think you're a good person
axbom
PRO
2
2.1k
Embracing the Ebb and Flow
colly
88
5.1k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Automating Front-end Workflow
addyosmani
1369
210k
Crafting Experiences
bethany
1
260
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
370
The agentic SEO stack - context over prompts
schlessera
0
870
Transcript
New Google Cast SDK for iOS wasabeef iOSDC Japan 2016
About me Daichi Furiya Google Developer Expert AbemaTV, Inc. wasabeef
@wasabeef_jp
Chromecast http://www.google.co.jp/intl/ja_jp/chromecast
Google Cast SDK v3
Session state management Connect, disconnect, and reconnect logic UX implementation
and UI Google Cast SDK v3
Sender
CocoaPods pod 'google-cast-sdk'
Initialize the Cast Context let options = GCKCastOptions(receiverApplicationID: “***D36F5”) GCKCastContext.setSharedInstanceWithOptions(options)
Add a Cast Button
Add a Cast Button let frame = CGRect(x: 0, y:
0, width: 24, height: 24) let castButton = GCKUICastButton(frame: frame) castButton.tintColor = UIColor.whiteColor() let item = UIBarButtonItem(customView: castButton) self.navigationItem.rightBarButtonItem = item
Load Media let meta = GCKMediaMetadata(metadataType: .Movie) meta.setString("わさビーフの奇妙な冒険 #1", forKey:
kGCKMetadataKeyTitle) meta.setString("堅あげポテトは砕けない", forKey: kGCKMetadataKeySubtitle) meta.addImage( GCKImage(URL: NSURL(string: “https://wasabeef.jp/cover.webp")!, width: 480, height: 720)) let mediaInfo = GCKMediaInformation( contentID: "https://wasabeef.jp/jojo-anim.m3u8", streamType: .Buffered, contentType: "application/x-mpegurl", metadata: meta, streamDuration: 0, mediaTracks: [], textTrackStyle: nil, customData: nil ) if let session = GCKCastContext.sharedInstance().sessionManager.currentCastSession { session.remoteMediaClient.loadMedia(mediaInfo, autoplay: true) }
Recover from a temporary loss of WiFi Recover from device
sleep Recover from backgrounding the app Recover if the app crashed Automatic Reconnection
googlecast/ CastVideos-ios
Receiver
Google Cast SDK Developer Console
Default Media Receiver Custom Receiver Styled Media Receiver Receiver
Custom Receiver https://developers.google.com/cast/docs/custom_receiver
googlecast/ CastReferencePlayer
Conclusion
Thank you. twitter.com/wasabeef_jp wasabeef.jp github.com/wasabeef