SlideShare a Scribd company logo
1 of 17
Download to read offline
HTML5 APIを使ったデモとソースの解説
                      秋葉秀樹




第3回Tizen勉強会 #TizenJP #HTML5J #Firefoxosjp #MeeGoJP
自己紹介

       秋葉秀樹
       フリーランスのデザイナー
       Illustrator, Photoshop, Flash, ActionScript
       HTML, CSS, JavaScript, Web Direction
       3DCG(Lightwave, Shade), Movie


執筆書籍




自論「すべてのモノ作りは人に還る」
自主制作




http://grad3.ecoloniq.jp/
カメラにアクセス

位置情報を取得

電池残量を取得

振動を鳴らす
ベンダープリフィックス

現状HTML5 API関連は策定中なので、

各ブラウザでは接頭辞付きの記述をしている
カメラにアクセス



  getUserMedia API                  MediaCapture API



 ストリームをvideo要素で再生                      input要素を拡張




    Android 2.xだとOpera12で標準実装            Android 2.xだとFirefox

  デスクトップ版Chrome、Firefox Nightlyなど   Android 4.xだと標準ブラウザ、Chrome
カメラにアクセス


 getUserMedia API


 navigator.getUserMedia( 
     {video:true}, 
     function (stream) { // 成功時の処理 },
     function (stream) { // 失敗時の処理 }
 )

Chromeなどは現在ベンダープリフィックスが必要。
                                            O
                                        D EM
カメラにアクセス


 getUserMedia API

撮影した画像を編集するにはcanvas要素!

 ctx.drawImage(video, 0, 0);


画像に対しコントラストやぼかしなどフィルターをかける

画像はBase64文字列で保存することができる


                                   O
                               D EM
カメラにアクセス

 var video = document.querySelector("video");
 var canvas = document.querySelector("canvas");
 var ctx = canvas.getContext("2d");

 navigator.getUserMedia(
    {video: true},
                        // 成功時
    function (stream){
       video.src =
 window.webkitURL.createObjectURL(stream);
       setInterval(function (){
          ctx.drawImage(video, 0, 0);
              }, 100);
       },
    function (){ /* エラーーーーー */}
 );
カメラにアクセス


 getUserMedia API

策定中のCSSは、画像をぼかすことも

  filter:invert();

contrast(1000%)      hue-rotate(180deg)
brightness(50%)      sepia()
                     saturate(300%)


現在ベンダープリフィックスが必要。
カメラにアクセス


 MediaCapture API

フォームなどで使うinput要素でカメラにアクセス

 <input type="file" accept="image/*; capture=camera">


ユーザが要素をタップするだけでデフォルトのカメラ画面に切り替わる。

撮影が終了したら、HTMLのform要素のファイルとしてサーバに送ること

ができる。

                                                            O
                                                        D EM
位置情報を取得


  Geolocation API

位置情報を取得する

 navigator.geolocation.getCurrentPosition(
    successCallback,
    errorCallback,
    option
 );

getCurrentPositionだと一回、watchPositionだと定期的に位置取得。
仕様では高度、方角、速度、誤差、高度誤差などがある。
位置情報を取得


 Geolocation API

位置情報を取得する
「ここ」「どこ」があると
「地図を起動します」と発声してGoogle Mapを表示するデモ




                                       O
                                   D EM
電池残量を取得


 Battery Status API

電池残量だけでなく、充電ステータスも取得

 var battery = navigator.battery; 
 alert( "残量は" + battery.level * 100 + "%" )

・充電コネクタがさされたとき、外されたときのイベントがとれる
・現在充電中なのかそうでないのか、残量が変化した瞬間のイベントもとれる
現在ベンダープリフィックスが必要。


                                                  O
                                              D EM
振動を鳴らす


   Vibration API

フォーム未入力エラーを振動で知らせる

 navigator.vibrate([200, 100, 500, 100]);


配列は、振動時間と休みの時間を交互にいれていく。
現在ベンダープリフィックスが必要。




                                                O
                                            D EM
セッション中に情報いただきました




https://wiki.mozilla.org/WebAPI
Thanks :)
Hidetaro7@Twitter
blog: http://akibahideki.com/blog/

More Related Content

Similar to HTML5 APIを使ったデモとソースの解説

Tech talk salesforce mobile sdk
Tech talk   salesforce mobile sdkTech talk   salesforce mobile sdk
Tech talk salesforce mobile sdk
Kazuki Nakajima
 
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
Shotaro Suzuki
 
モバイル開発@symfony
モバイル開発@symfonyモバイル開発@symfony
モバイル開発@symfony
Daichi Kamemoto
 
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発
Kazuki Nakajima
 
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -
Akio Katayama
 

Similar to HTML5 APIを使ったデモとソースの解説 (20)

HTML5&API総まくり
HTML5&API総まくりHTML5&API総まくり
HTML5&API総まくり
 
HTML5でできるカメラアプリを実際に体験しよう
HTML5でできるカメラアプリを実際に体験しよう HTML5でできるカメラアプリを実際に体験しよう
HTML5でできるカメラアプリを実際に体験しよう
 
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
 
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 EastiOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
 
Tech talk salesforce mobile sdk
Tech talk   salesforce mobile sdkTech talk   salesforce mobile sdk
Tech talk salesforce mobile sdk
 
HTML5の前のJavaScript入門
HTML5の前のJavaScript入門HTML5の前のJavaScript入門
HTML5の前のJavaScript入門
 
ボット開発でも DevOps! BotBuilder のテスト手法
ボット開発でも DevOps! BotBuilder のテスト手法ボット開発でも DevOps! BotBuilder のテスト手法
ボット開発でも DevOps! BotBuilder のテスト手法
 
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
 
Mobile Web
Mobile WebMobile Web
Mobile Web
 
WebRTCの技術解説 第二版 公開版 完全版
WebRTCの技術解説 第二版 公開版 完全版WebRTCの技術解説 第二版 公開版 完全版
WebRTCの技術解説 第二版 公開版 完全版
 
WebRTC on Native App
WebRTC on Native AppWebRTC on Native App
WebRTC on Native App
 
Core Animation 使って見た
Core Animation 使って見たCore Animation 使って見た
Core Animation 使って見た
 
モバイル開発@symfony
モバイル開発@symfonyモバイル開発@symfony
モバイル開発@symfony
 
Hands on
Hands onHands on
Hands on
 
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
emscriptenでC/C++プログラムをwebブラウザから使うまでの難所攻略
 
20150207コデアルエンジニア学生向けハッカソン就活イベント発表資料
20150207コデアルエンジニア学生向けハッカソン就活イベント発表資料20150207コデアルエンジニア学生向けハッカソン就活イベント発表資料
20150207コデアルエンジニア学生向けハッカソン就活イベント発表資料
 
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発
 
WebRTCの技術解説 公開版
WebRTCの技術解説 公開版WebRTCの技術解説 公開版
WebRTCの技術解説 公開版
 
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -
 
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -
 

More from Hideki Akiba

ぼっけもんデザイナーへの道
ぼっけもんデザイナーへの道ぼっけもんデザイナーへの道
ぼっけもんデザイナーへの道
Hideki Akiba
 
Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)
Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)
Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)
Hideki Akiba
 

More from Hideki Akiba (14)

デザインエンジニア・ボーダーレスな時代を楽しもう!
デザインエンジニア・ボーダーレスな時代を楽しもう!デザインエンジニア・ボーダーレスな時代を楽しもう!
デザインエンジニア・ボーダーレスな時代を楽しもう!
 
ぼっけもんデザイナーへの道
ぼっけもんデザイナーへの道ぼっけもんデザイナーへの道
ぼっけもんデザイナーへの道
 
Webデザイナー、 Tesselに挑戦
Webデザイナー、 Tesselに挑戦Webデザイナー、 Tesselに挑戦
Webデザイナー、 Tesselに挑戦
 
Creative Cloud デザインツールの便利な8つの機能 - ADC MEETUP ROUND 08 SESSION2 -
Creative Cloud デザインツールの便利な8つの機能 - ADC MEETUP ROUND 08 SESSION2 -Creative Cloud デザインツールの便利な8つの機能 - ADC MEETUP ROUND 08 SESSION2 -
Creative Cloud デザインツールの便利な8つの機能 - ADC MEETUP ROUND 08 SESSION2 -
 
見た目以上に大事なこれからのデザイン
見た目以上に大事なこれからのデザイン見た目以上に大事なこれからのデザイン
見た目以上に大事なこれからのデザイン
 
HTML5のcanvas2Dアニメーションことはじめ(Webプラットフォーム勉強会 1307)
HTML5のcanvas2Dアニメーションことはじめ(Webプラットフォーム勉強会 1307)HTML5のcanvas2Dアニメーションことはじめ(Webプラットフォーム勉強会 1307)
HTML5のcanvas2Dアニメーションことはじめ(Webプラットフォーム勉強会 1307)
 
伝わる!デザインのつくりかた
伝わる!デザインのつくりかた伝わる!デザインのつくりかた
伝わる!デザインのつくりかた
 
デザイナーとしてのHTML5への向き合い方 | HTML5 Conference MIYAZAKI
デザイナーとしてのHTML5への向き合い方 | HTML5 Conference MIYAZAKIデザイナーとしてのHTML5への向き合い方 | HTML5 Conference MIYAZAKI
デザイナーとしてのHTML5への向き合い方 | HTML5 Conference MIYAZAKI
 
HTML5な今日この頃に贈る、Webデザイナーこれからの生きる道
HTML5な今日この頃に贈る、Webデザイナーこれからの生きる道HTML5な今日この頃に贈る、Webデザイナーこれからの生きる道
HTML5な今日この頃に贈る、Webデザイナーこれからの生きる道
 
Firefox OSアプリ 「ModeView」
Firefox OSアプリ 「ModeView」Firefox OSアプリ 「ModeView」
Firefox OSアプリ 「ModeView」
 
DesignersHack002 presentation
DesignersHack002 presentationDesignersHack002 presentation
DesignersHack002 presentation
 
Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)
Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)
Web標準技術の今とこれからを考える(村岡正和 ・ 秋葉秀樹)
 
あのロゴあのパーツ、どんなグラフィックソフトで作ってるんだろう?/秋葉秀樹
あのロゴあのパーツ、どんなグラフィックソフトで作ってるんだろう?/秋葉秀樹あのロゴあのパーツ、どんなグラフィックソフトで作ってるんだろう?/秋葉秀樹
あのロゴあのパーツ、どんなグラフィックソフトで作ってるんだろう?/秋葉秀樹
 
Html5west
Html5westHtml5west
Html5west
 

Recently uploaded

Recently uploaded (11)

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

HTML5 APIを使ったデモとソースの解説