Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
audioタグをつかってAudioを再生した場合、別タブを開いたりSafariを閉じたりしてもAudioはバックグラウンドで再生し続けてしまいます。今回はこの対策を3つ考えました。 DEMO(未対策なAudioタグ) ※ iPhoneでご観覧ください 対策A: blurイベントでaudioをpauseする JavaScript (function(win, doc) { "use strict"; var audio = doc.getElementById("audio"); doc.addEventListener("click", function() { audio.play(); }, false); win.addEventListener("blur", function() { audio.pause(); }, false); })(this, document); DE
HTML5 で追加された audio/video 属性によって、プラグインレスで動画や音声の再生が可能になったことはよく知られていますが、モバイル(スマホ)で、その再生タイミングの制約が厳しいことは案外知られていません。これは以前、当Blogでも HTML5 x Touch UI の UXを考える(補足) の User action event restrictions でもチラッと書きました。またしてもこの制約に苦しめられながら、なんとか解決策を見いだしたので、GW最中にも関わらず久しぶりのエントリーです。 まず、本家 Apple のドキュメントにも以下のようにあります。 iOS-Specific Considerations In Safari on iOS (for all devices, including iPad), where the user may be on a ce
html5から追加されたaudio要素ですが、今まで存在は知っていたものの使ったことはありませんでした。先日、実案件でaudio要素を使う機会を得たので、その際にハマったことなどを少しメモしておきます。 今回の案件の要望は、 ・ページを開いたらキービジュアルをフェードイン ・フェードインの開始と同時に音楽を自動再生 ・音楽はループで流したい というものでした。 audio要素って? audio要素はHTML5から追加された新要素です。HTML5に対応している最新のブラウザならほぼ使えます。ただIE8では非対応のため、対象ブラウザにIE8が入っている場合は気を付ける必要がありそうです。 対応フォーマット .m4a(AAC) / .mp3(MP3) / .ogg(OGG) / .wav(WAV) ブラウザごとに対応フォーマットが異なるので、できればいくつかのフォーマットを用意しておくと良いです
Mobile Safari で Audioを再生する方法は大きく、Audioタグ をつかう方法と Web Audio API をつかう方法があります。 2つの方法には微妙な違いがあって、いままでもちょいちょい検証してきたんですが、ここらで1つの記事にまとめておこうと思います。 ※ 検証はiOS8.4のiPhone6で行いました。 再生に関する挙動 Audioタグ タップ等のユーザーの動作が必要 Web Audio API タップ等のユーザーの動作が必要 音量に関する挙動 Audioタグ iPhone本体のボリュームでのみ制御可能(APIからの操作は無視) Web Audio API iPhone本体のボリューム、APIどちらからでも制御可能 関連記事 kimizuka.hatenablog.com サイレントモードに関する挙動 Audioタグ 本体音量が0でない限りサイレントモードでも音が
女子大生がたくさん働いているデリヘルのサービス。深夜でも使える風俗として、自分の暮らしを豊かにしてくれているデリヘルです。有名大学に通う女性を指名した今回は、思い出しただけでも興奮が甦ってくるほど。素股の気持ち良さは挿入を超えるくらいの感覚でした。その秘密は敏感なクリにあります。素股をするとどんどん刺激されてクリが固くなり、それが亀頭に当たって気持ち良い。相手も擦れて気持ち良いという相乗的な魅力に浸るのが、今までの風俗史上最高の体験になったのです。素股はぎこちなさもあるのですが、それでも密着度が高くてアソコへの刺激は十分すぎるほど。途中で耐えることを諦めていれば、きっとサービスから半分も消化しないうちに果ててしまっていたと思います。しかし、僕は風俗MASTERです。そんなことできません。キスも大好きらしく、クンニをした後でも何度となく「チューしてほしい」とお願いされたので、舌を絡めてじっく
GCD(Grand Central Dispatch)を使って, バックグラウンド処理を行います。 iOSでは, NSOperationを使った方法でも可能です。方法と挙動は似たようなものです。 dispatch_asyncを使うメリットとしては, 処理の記述にブロックが渡せるので, クラス同士の データの受け渡しが簡単(closureのように使える訳ですはい)です サンプル dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // Background operations dispatch_async(dispatch_get_main_queue(), ^{ // Main Thread }); }); これだけです, dispatch_asyncを呼び出すだけです。Queu
【確認ver】Swift 3.0.2【語】annotation 注釈 //Swift 3.0.2 var abc //エラー abcが何の型かわからない。 var abc: Int や var abc = 0 なら型が決まる(推測できる)のでOK。 //Swift 3.0.2 var a, b, c: Int = 0 //エラー Intと=0はcのみに対して適用されるようで、aとbが不確定になる。 var a, b, c: IntならOK。 //Swift 3.0.2 var a, b = 0, c: Int //エラー aに対して、= 0は適用されない(bに対して適用)、Intもaに対して適用されない(間に= 0が適用されたbがあるため?)
Objective-Cのシングルトンって、昔はcopyWithZoneとかもあって、無駄に面倒だったような記憶があるんだけど、いつの間にか簡単になったんだっけ……?と思ってたので、ちょっと整理してみました。 ARCとGCDが出る前からシングルトンを実装してた人にはちょっと懐かしい話かもしれません。 Singletonとは 改めて説明するまでもないですが、シングルトンとはプロセス内のどこからよんでも同じオブジェクトにアクセスできるようにするデザインパターンです。 どのプログラミング言語においても重要なデザインパターンです。 iOSのシステムフレークワークでもよく使われており、 などはおなじみですよね。 上のメソッドは何回呼んでも同じオブジェクトがかえるようになっているので、いつでも同じオブジェクトに対して処理をすることができます。 自分で実装しなくても、ほとんどの人はシングルトンパターンを使
Dash A self-enclosed environment for developing containerized applications.
いまやiOSのネットワーク処理といえばAFNetworkingな感じです。 しかし古いストリーミングAPIを使った経験があれば、ブロックベースのAPIでどうやってネットワーク通信を行っているのか疑問に思うはずです。なぜかというと、 GCDは実行ループを持てない からです。 そもそも実行ループとは何なのでしょう。 実行ループとは NSRunLoop Class Referenceより The NSRunLoop class declares the programmatic interface to objects that manage input sources. An NSRunLoop object processes input for sources such as mouse and keyboard events from the window system, NSPort
Appleの場合、審査が厳しいこともあって十分にテストしてからリリースされると思いますが、それでも利用者のデータによってはクラッシュしてしまうものです。問題はそのクラッシュした時のデータを収集し、次に活かすことでしょう。ということでクラッシュレポートサービスをまとめました。まだ組み込んでいない方はぜひ使ってみてください!Appleの場合、審査が厳しいこともあって十分にテストしてからリリースされると思いますが、それでも利用者のデータによってはクラッシュしてしまうものです。問題はそのクラッシュした時のデータを収集し、次に活かすことでしょう。 ということでクラッシュレポートサービスをまとめました。まだ組み込んでいない方はぜひ使ってみてください! BugSense iOS/Androidの他、HTML5やWindows 8/Windows Phoneアプリにも対応しています。幅広いプラットフォーム
Xcode6.xで新規にプロジェクトを作成すると、Xcode5.xまでデフォルトで作成されていた「<プロジェクト名>-Prefix.pch」が作成されなくなっている。 今回はXcode6.xで「<プロジェクト名>-Prefix.pch」を手動で追加する方法を紹介する。 <手順概要> 1.プロジェクトツリー上でファイルを追加する 2.Prefix Headerに1で追加したファイルのパスを登録する <手順詳細> 1.プロジェクトツリー上でファイルを追加する プロジェクトツリー上で「Supporting Files」を右クリックし、「New File...」を選択する。 表示されたダイアログで、[iOS]>[Other]>[PCH File]を選択し、【Next】ボタンを押下する。 さらに表示されたダイアログで、Save Asの項目に「<プロジェクト名>-Prefix」を入力し、【Create
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く