先日iTunes Search APIを使いまして、曲のプレビュー再生のURLを取得できることを知ったので、再生を試した時に書いたコードです。
AVAudioPlayer
はシンプルに書けて再生できるので良いですね。
先日iTunes Search APIを使いまして、曲のプレビュー再生のURLを取得できることを知ったので、再生を試した時に書いたコードです。
AVAudioPlayer
はシンプルに書けて再生できるので良いですね。
この記事は「子育てプログラマ・ITエンジニア・Webデザイナー Part 2 Advent Calendar 2015」の16日目として書いております。
(遅れてしまい申し訳ありませんでした・・クリスマスにギリギリ滑り込みになってしまいました)
「時間」がうまく使えず悩みながらも、お母さんと仕事をなんとかやってこれました、という話です。
2歳児を子育て中のお母さんプログラマです。
「時間」に対する意識ががらりと変わりました。
独身時代はなんと贅沢に使っていたことか・・と悔やまれるほど
時間というものの価値の重さを感じているところです。
私は子どもが生まれてから2年間、「自己研鑽する時間なんてどうやって持てばいいのか・・」と途方に暮れる日々でした。
私は優れた技術者などではなく、ごく平凡な能力の人です。
もし優秀な人ならば、子どもがいようがいまいが、関係なく、時間を適切に使って自分の能力を高めていくことができるのだろうと思います。
ところが私ときたら、自分の体力を保つのがやっとで(特に1歳半までは本当に大変でした)、Webでパワフルなママさんの紹介記事を読むたびに、頑張って輝いているママさんを見て励みになるどころか、「私ってやつはどうしてこうなんだ・・」と焦り、落ち込んだものです。
今となって冷静に考え直せば、時間を作ることもできただろうとも思いますが、当時の私は目の前の事をこなすのに手一杯で、そこまで頭が回っていませんでした。
子が2歳になったあたりから、少しずつ自分の時間を作れるようになってきました。
たとえ10分でも「本読んだ!やった!」とか「コード書いた!よーし!」と、「毎日」「少しずつ」「続ける」こと、そしてそれに対して「OK、できた!」と心の中で自分に言うことが、今の私にとって一番良い道なのだな、とようやくわかってきたところです。
(それすら出来ない日もあります。仕方ないとあきらめたり、意地にならないようにしています。)(意地になるとストレスが溜まり家庭に跳ね返るので。。)
時短勤務で働くようになってから、「人日」という計算がうまく当てはまらず悩んだことがありました。
私は1日6時間勤務にしています。人日は一般的には8時間なので、日で見ると私は人より長い期間かかることになり、ガントチャートを見ては能力がとても落ちたように感じて苦しかったです。
それでも仕事を続けることができているのは、夫の理解、職場の理解、この二つの力がとても大きいです。
色々な考えがこんがらがっている私の頭の中を、的格に言語化して整理整頓してくれる夫。
時短勤務然り、急なお迎えや休みにも理解を示してくれる職場。
人が助けてくれると、私の心にのしかかっていたものが、一瞬で軽くなる。人の力はすごい。
それでもやはり負い目は感じますし悩むことはありますが、仕事を続けることができています。
実年齢はアラサー、でも2歳か、うふふ、などと思うと、ほんの少し若返った気がしてきます。 (完全に気のせいですが、よいのです。)
「ああ、今日も理不尽に怒ってしまった、駄目母・・」と落ち込む日も多々ありますが、
30代になっても、反省することや課題は山積みで、落ち込んだり元気になったり、怒ったり喜んだり、こんなにも感情が激しく揺れ動くのか、と思うと、「私まだまだ伸びしろいっぱいありそう!」と能天気に考えれば、自分にワクワクもしてきます。
(20代の頃は、30歳をどうやって生きているかなんて想像すらしていませんでした)
あっという間に2年過ぎてしまったので、この先もっと加速しそうでおそろしいです。
さて成人する頃には一体どうなってるのか・・(想像できない)
娘と一緒にコード書けているといいな。
iOSのYTPlayerView
に定義されている定数YTPlaybackQuality
とサイズの対応表、および再生画質関連のメモ。
YouTube JavaScript Player API Reference | YouTube IFrame API | Google Developers
動画プレーヤーの高さは以下のいずれかの値に、プレーヤーのサイズは 16:9 のアスペクト比にそれぞれ設定することをお勧めします。
YTPlaybackQuality | 高さ (pixel) | サイズ (pixel) | アスペクト比 |
---|---|---|---|
kYTPlaybackQualitySmall | 240 | 320x240 | 4:3 |
kYTPlaybackQualityMedium | 360 | 640x360 or 480x360 | 16:9 or 4:3 |
kYTPlaybackQualityLarge | 480 | 853x480 or 640x480 | 16:9 or 4:3 |
kYTPlaybackQualityHD720 | 720 | 1280x720 or 960x720 | 16:9 or 4:3 |
kYTPlaybackQualityHD1080 | 1080 | 1920x1080 or 1440x1080 | 16:9 or 4:3 |
kYTPlaybackQualityHighRes | 1080以上 | 1920x1080以上 | 16:9以上 |
たとえば、画質レベル large をリクエストし、それが無効な場合、再生画質は medium に設定されます(このレベルが有効であれば)。
たとえば、YouTube Data API Search のpublishedAfter
など日時のパラメータを使う際、NSDate
からNSString
に変換するメモです。
publishedAfter
は、「その日時以降の動画を検索対象にする」というパラメータです。実際には、Now
のところには「1日前」「1ヶ月前」などを入れて使います。
Carthage関連の記事はSwiftと結びついていることが多いですが、Objective-Cでも使えます。
(Carthageに対応しているライブラリはSwiftのものが多いのかなと)
CocoaPodsも併用していますが、どちらも問題なく使えます。
(※ただ、ストアに申請したことがないので、併用が本当に問題ないかどうかは現時点では不明です)
読みは・・「カルタゴ」が正解?
(カーセージと読んでしまう><)
Homebrew環境です。
$ brew install carthage
私の環境ではパーミッションのエラーが出てしまったのでメモです。
Error: Permission denied - /Library/Caches/Homebrew/Formula/carthage.brewing
こちらを参考にしました。
Permission denied - /Library/Caches/Homebrew/Formula/nmap.brewing
$ sudo chown -R $USER /Library/Caches/Homebrew/
ディレクトリの権限を変更しておきます。
Cartfile
というファイルを用意します。
CocoaPodsでいうところのPodfile
ですね。
「Cartfile」という名称のファイルを自分で作って、プロジェクトのディレクトリに置きます。
(pod init
的なものはないようです)
例えば、
https://github.com/LeoNatan/LNPopupController.git
こちらのライブラリをCarthageで管理したいとして、Cartfile
には
github "LeoNatan/LNPopupController"
このように書きます。
☆ 参考: Example Cartfile
☆ LNPopupController (標準のミュージックアプリのミニプレーヤーに似たステキなControllerです)
Cartfile
の準備ができたら、
$ carthage update
を実行します。
正常に完了すれば、
Carthage
フォルダCartfile.resolved
ファイルが追加されます。
Carthage/Build/iOS
の中に、xxx.framework
があります。
(その他にdSYMファイルなどがあることもあります)
Carthageで管理しているFrameworkを、プロジェクトに追加しましょう。
Carthage/Build/iOS
にあるxxx.framework
ファイルを選択する。/usr/local/bin/carthage copy-frameworks
を追加する。$(SRCROOT)/Carthage/Build/iOS/xxx.framework
を追加する。☆参考: If you're building for iOS
☆参考: github/gitignore/Objective-C.gitignore
# Carthage # # Add this line if you want to avoid checking in source code from Carthage dependencies. # Carthage/Checkouts Carthage/Build
上の.gitignore
では、CathageのBuildフォルダだけ除外という感じですが、
Carthageフォルダごと除外でよいかと思います。
# Carthage Carthage/
私はフォルダごと除外しています。
☆ Cartfile.resolvedについては、
strongly recommended to commit this file to your repository.
と念押しされています。
Cartfile
とCartfile.resolve
は、もれなくGit管理してあげましょう。
これで、Carthageのインストール 〜 ライブラリを利用する準備が整いました。
想像よりも気楽に準備が整えられたので良かったです。
それと、Run Scriptを追加する若干の手間はあるとしても、CocoaPodsよりもプロジェクトとの結合が疎な感じが、個人的には気に入りました☆
YTPlayerView
を使っています。
なんか画面表示されなくなった?? と思っていたら
つい昨日、0.1.5
にアップデートしたために動かなくなってしまった模様。
Received error rendering template: Error Domain=NSCocoaErrorDomain Code=258 "The operation couldn’t be completed. (Cocoa error 258.)"
こんなエラーが出ます。
うっすら追ってみると、YTPlayerView-iframe-player.html
のpath
がnil
になってしまっていて、↑エラーメッセージが出ている。
0.1.4
ではあったAssets
フォルダがなくなっている、というか
0.1.5
からAssets.bundle
にしたようですが、
それが入ってるフォルダが落ちてこない・・(cocoapodsを使っています)
Issueにも上がっていたので、ひとまず0.1.4
に戻して、動きを見守ろう・・
たこさんウィンナーのスタンプ\(^o^)/
その昔はお絵描きが趣味でした。(ここ5年ほどさっぱりでしたが)
前々から、「自分で使うスタンプを作ってみたい!」と思っていました。
わりとなんでも自作してみたくなるタイプです。(でも腰が重い)
「年内にリリース!」「1日1個書く!」と決めたその日から、ようやく取りかかったのでした。
売る気なし、完全に自己満足です。
2歳の娘が、初めてたこさんウィンナーを見たときの食いつきっぷりにいたく感激し、「私もたこさんウィンナーになりたい!!」と思いました!(アホ親)
1日1個(約10分)、約2ヶ月。
毎日(たまにさぼりつつも)ちまちま書き続けて、やっとこさ40個!
妙な達成感はありました!
10分x40個=400分=約7時間…1人日。
2ヶ月もかかってるけど、ぎゅっと濃縮したら1人日。
(でも、一日中描き続けるなんて私にはムリィ・・)
Fire Alpacaで作りました。フリーでありがたいです\(^o^)/
好きです、ファイアーアルパカ!
10/29に申請を出して、11/4に審査が通りました。
申請〜通過まで6日間でした。
リジェクトなしでした。
周知とかなんにもせず、リリース初日(11/5)に¥700ほど売り上げて、以降はゼロですwww
細長い山が1個だけ、ピョコンてなってます。
「新着」で偶然見かけた人が買ってくれたのでしょう・・!ありがとうsomeone・・!
以上です!