Hatena::Groupiphone-dev

sawatのiPhoneアプリ日記 RSSフィード

iAlbumPlayer / SongsInfo についての質問、感想、要望はコメント欄、もしくはtwitter@sawat1203へお願いします。
記事一覧 [iAlbumPlayer] [SongsInfo]
|

2011-04-07

新作 SongsInfo をリリースしました。

| 01:14 | はてなブックマーク - 新作 SongsInfo をリリースしました。 - sawatのiPhoneアプリ日記

f:id:sawat:20110408010001p:image

AppStoreへ

コメントや再生回数など、通常iTunes上でしか確認できない詳細情報をiPhone/iPod touchで確認するためのアプリです。*1

f:id:sawat:20110408005837p:image


歌詞やアートワークも見ることができます。(設定されていれば)

f:id:sawat:20110408005836p:imagef:id:sawat:20110408010904p:image


右上の「+」ボタンを押して、任意の曲を選択できます。

f:id:sawat:20110408011222p:image


さらに、開発者向け情報として、曲のAsset URLと各種Persistent IDも確認できます。

f:id:sawat:20110408010859p:image

使いどころが思いつきませんが… (汗

設定.appで純正iPodアプリとの連動有無を切り替えることができます。

*1:コメント、リリース日、BPMiOS4.2系では確認できません。それらの情報を見たい場合はiOS4.3系にアップデートしてください。

2010-12-23

iAlbumPlayer-1.6.0がリリースされました。

| 22:12 | はてなブックマーク -  iAlbumPlayer-1.6.0がリリースされました。 - sawatのiPhoneアプリ日記

絶対に年が明けてからリリースになるとおもったのですが、Appleさんの脅威の神速レビューで年内リリースになりました (^^;

f:id:sawat:20101223220121p:image f:id:sawat:20101223220122p:image

変更点
  1. アルバム内の曲順を「通常」と「シャッフル」で選べるようにしました。(左図)
  2. 再生ボタンを長押しして、アルバムを一括で再生する枚数を指定して再生できるようにしました。(右図)
  3. 一時停止状態から再生するときも一括再生を行うようにしました。これによりアルバムの継ぎ足し再生ができます。
  4. プレイリスト等の選択画面でAdMob広告を表示するようにしました。(iAd広告がない場合)

一括再生枚数の指定は、再生中に一時停止して「1枚」を選ぶと現在のアルバムのみが再生対象になります。そのままiAlbumPlayerを終了すればアルバムの最後の曲が終われば再生が止まります。

プレイリスト等の選択画面でAdMob広告を表示するようにしました。今まではiAd広告を入れてあったのですが、日本ではおそらく表示されたことはないはずです。今後は日本でもAdMob広告が表示されるようになります。ご了承ください。すてきな広告が表示されたら遠慮せずにタップ!してください m(_ _)m

今後の予定

今後は以下の機能を作るかもしれません。

  • 歌詞表示機能
  • 作曲者等の曲の情報表示機能
  • 設定をアプリ内で変更可能に (特にアルバムの再生順と、アルバム内の曲再生順)
  • 全アルバムのリスト表示
  • アーティスト一覧のセクション分け表示とインデクス表示

フィフネスフィフネス2010/12/24 00:11昨日、バージョンアップに気づき、バージョンアップして動作の確認を行いました。
希望した「ランダムアルバム選択でのランダム再生」がサポートされて、大変喜んでいます。
アルバムの1枚だけの再生方法も分かりました。かなり便利になりましたね。
「今後の予定」も期待しています。これからもどうぞよろしくお願いします。

蛇杖叛冥蛇杖叛冥2011/01/13 12:29iAlbumPlayer 確かにすばらしいアプリなのですが、要望が1点。
再生元にプレイリストが指定できるようですが、プレイリストに入ってるアルバムが選択されてるようで、プレイリストに入れていない曲までもが次々に再生されてしまいます。
曲のレートや以前に再生した日、再生回数などのバラメーターを組み合わせて、複数のアルバムから、何曲かずつ選択されるようなスマートプレイリストを作ってる人間もあんまりいないのかもしれないですが、プレイリストに入ってる曲に限定して、再生されるような設定ができないと、わざわざプレイリストを組む意味が激しく減ってしまうのですが…。iPod classicではできたので、ぜひぜひ実装希望。まぁ、アップルが初期設定で対応してないのが悪いと言えば悪いのですが…。
あと、起動時に表示される曲名やアルバムアートワークと再生されている曲が一致していないようです。再生するアルバムを変更すると正常化するようです。
あと、アプリを終了(ホーム画面に戻るだけでなく、ホームボタン連続押しで起動しているアプリを表示させて、完全に終了)させると再生が終了するような仕様のほうがいいと思うのは自分だけでしょうか?
今後のバージョンアップで改善されることを期待しています。

sawatsawat2011/01/14 01:26コメントありがとうございます。

> フィフネスさん
レスしてませんでした。すみません (>_<)
喜んでいただけてこちらも嬉しいです。

> 蛇杖叛冥さん
提案ありがとうございます。
プレイリスト中に含まれていない曲は再生されないで欲しいという要望があることは気づいていたのですが、
このアプリの元々コンセプトが「アルバムを手軽に選択しつつ、かつアーティストが意図した通りの正しい曲順で聞く」
というものであったため、また実現方法が少し複雑になってしまうため、意図的に省いていました。
(プレイリストで曲を選択するのではなく、アルバムを選択する機能なんです…(汗))
その意味では、1.6.0で追加したアルバム内シャッフルもそのコンセプトに反するのですが、こちらは実現が容易だったので…。
なので、絶対に導入しないというわけではなく、機会を見てそのように機能を変更するかもしれません。約束はできませんが。

曲名とアートワークが一致していない場合があることはこちらでも把握しております。
次のアップデート (時期未定) あたりで修正しようと思います。

それから、アプリ終了時の動作についてですが、
現在のiAlbumPlayerはホームボタンを押してホーム画面に戻る操作でアプリが完全に終了するようになっています。
アプリが完全に終了しても音楽再生が止まらないのは、iAlbumPlayerは自分自身で音楽を再生しているのはではなく、
純正のiPodアプリ (iPod touchならMusicアプリ) に対して再生等の指示を出しているだけだからです。
以前のバージョンでは、iOS4のホームボタン押下時にバックグラウンドで待機する機能に対応させたことがありますが、
iAlbumPlayerの場合、実質的なメリットがほとんど無く実装上のデメリットの方が大きいため現在は削除しています。
(iOSの制約により、バックグラウンド待機状態ではiAlbumPlayerとして有用な動作はなにもできないです)

スガオスガオ2011/02/20 23:54アルバム内の曲再生順は曲の選択時にのみ決定されますか?

sawatsawat2011/02/21 00:08> スガオさん
はい。アルバム内再生順序が「シャッフル」に設定されている場合、アルバムの再生を開始するタイミングでシャッフルが行われます。
音楽の再生中に設定アプリでアルバム内再生順序を変更しても、その指定が使用されるのは次にアルバムの再生を行ったタイミングになります。

2010-12-04

iOS4.2対応でiAlbumPlayerがハマった落とし穴とその回避策

23:48 | はてなブックマーク - iOS4.2対応でiAlbumPlayerがハマった落とし穴とその回避策 - sawatのiPhoneアプリ日記

[ [MPMediaQuery albumsQuery] collections] mutableCopy] が NSMutableArrayを返さなくなってる

iOS4.2 (iOS4.2.1) から、 MPMediaQueryのcollectionsプロパティ (MPMediaItemCollectionを格納したNSArray) に対して mutableCopy を行うと、MPMediaEntityStreamMutableArray というアンドキュメンテッドなクラスのインスタンスが返るようになりました。

この MPMediaEntityStreamMutableArray がどうもおかしくて、mutableCopyの戻り値なので当然 NSMuatableArray のサブクラスだと思うのですが、ところがなんとそうではないのです…。得られたインスタンスをisKindOfClassで調べるとNSArrayではあるが、NSMutableArrayではないことがわかります。

なので、このmutableCopyに対して exchangeObjectAtIndex:withObjectAtIndex: や、sortUsingSelector: などNSMutableArrayのメソッドを呼び出すとアプリがクラッシュしてしまうのです... orz

iAlbumPlayerはアルバムのシャッフルをするところとアーティスト名順にソートするところでモロにこの落とし穴に嵌りました。MPMediaEntityStreamMutableArrayというクラス名からするとどう考えてもバグです…。アップルさんマジ勘弁して下さい。


なお、この問題を回避するには以下のようにmutableCopyメソッドを使わずにNSMutableArrayを生成すればOKです。

NSArray *collections = [[MPMediaQuery albumsQuery] collections];
NSMutableArray *marray = [[NSMutableArray alloc] initWithArray:collections];

ADBannerViewのサイズ指定定数が変更されている

iOS4.1以前では、ADBannerViewのサイズの指定定数はADBannerContentSizeIdentifier320x50とADBannerContentSizeIdentifier480x32でした。この定数はピクセルサイズが名前に含まれているのでiPadやRetina対応ディスプレイで使うのに問題がありました。そこで、ADBannerContentSizeIdentifierPortraitとADBannerContentSizeIdentifierLandscapeという新しい定数が用意され、以前の320x50と480x32はDeprecatedとなりました。

で、ここまでは良いのですが、このDeprecatedになった古い定数はInterfaceBuilderでも選択できなくなってしまったのです。結果、IBでADBannerViewを設定している場合、iOS SDK4.2でビルドし直すと勝手にこのサイズ指定が新しい定数を使用するように変更されてiOS4.1以前では動かなくなってしまうのです。

この問題を回避するには、まずIBでADBannerViewを設定せず、コードでバナーの構築やレイアウトを全て行うようにします。サイズ定数の指定は直接使わないで、以下のサイトのようにすると良いでしょう。*1

MeachWare Dev Blog: iAd’s in Universal App

*1iOS4.2以降で古いサイズ指定定数を使っているとコンソールログに警告が出ます

2010-11-23

iAlbumPlayer-1.5.2をリリースしました。

12:06 | はてなブックマーク - iAlbumPlayer-1.5.2をリリースしました。 - sawatのiPhoneアプリ日記

AppStoreでダウンロード

1.5.0はバージョンはiOS4.2で使用すると起動後にクラッシュする問題があり、1.5.1はプレイリスト選択画面でクラッシュする問題がありますので、アップデートをお願いします。

新機能はありません。

前回のアップデートでミスをやらかしてしまいまして、ユーザの方にご迷惑をおかけしました。

本日正式公開のi0S4.2にぎりぎり間に合ったようでほっとしてます。

フィフネスフィフネス2010/11/23 17:02iOS4.2 で iAlbumplayer 1.5.2 を試してみましたが、設定画面でアルバム再生 ソート順 に シャッフル を選択しても再生順が登録した順番になってしまいます。アルバムタイトル にしても同じです。アーティスト名にするとクラッシュしてしまいます。新機能はないとのことなので、昔のバグがそのまま残っている感じがしますが、相変わらずクラッシュしてしまうバグも持っているようなので修正をお願いします。

sawatsawat2010/11/23 17:29アーティスト名順に指定した場合の問題について確認いたしました。申し訳ありません。修正いたします。
シャッフルとアルバムタイトル順についてはこちらの環境では、正常に動作し、問題を確認できませんでした。
すみませんが、どのデバイス (iPhone4, iPod, etc) をお使いでしょうか?

sawatsawat2010/11/23 17:47すみません。前のコメントでiPod touchと記載されいましたね。私の第2世代iPod touchではシャッフルに問題はありませんでした。
なお、シャッフルを使用した場合、再シャッフルが行われるのはプレイリスト等の再選択を行ったタイミングになっています。
(起動・停止を繰り返してもなるべく再生対象のアルバムが均等に出現するようにするためです)

フィフネスフィフネス2010/11/23 20:28機能を勘違いしていました。アルバムのシャッフル・アルバムタイトル順再生は問題なくできました。私が期待していたのはアルバムをランダム(シャッフル)に選択して、かつアルバムの中の曲順もシャッフルして欲しかったのです。今はiAlbumPlayerで曲を再生してからiPodのミュージック機能でシャッフルを選択しなければなりません。しかも、一度シャッフルを選択していても、アルバムが変わるとまた曲順になってしまいます。何とかならないでしょうか。よろしくお願いします。

sawatsawat2010/11/23 20:55アルバムを手軽に選択しつつ、アーティストが意図した通りの曲順で聞くことが元々のコンセプトなので、曲単位のシャッフル機能は今まで提供していませんでした。
あと、曲単位のシャッフルなら、iPod自身の機能十分かと思っていました。
フィフネスさんの欲しいのは「アルバムAをシャッフルで全て再生してからアルバムBをシャッフルで再生」という機能ですよね?
バージョンアップで組み込むことを検討してみます。

フィフネスフィフネス2010/11/23 23:02iPod にシャッフル関係のそのような機能がないことは知りませんでした。アルバムのシャッフルもありそうだったのに。iAlbumPlayer が一番望んだものに近いミュージックプレーヤーだと思いますので、どうかバージョンアップをお願いします。

takataka2010/11/24 12:361つ前の投稿へコメントを記入したtakaです。
iPhone3GS + iOS4.2 + iAlbumPlayer-1.5.2の組み合わせでの動作を確認しました。
迅速な対応ありがとうございました。

sawatsawat2010/11/24 22:37> takaさん
了解です。とはいえ、まだフィフネスさんの言う問題が残っていまして…。
iOS4.2の対応に焦りすぎてしまったようです。続けてミスを犯し、ちょっとヘコんでます。

フィフネスフィフネス2010/12/09 01:33確認です。iAlbumPlayer を一度起動するとエンドレスに曲が流れるようですが、これが仕様ですか?
一括再生枚数を1枚にしても次のアルバムが演奏されるようです。
出来れば再生枚数を指定して、その枚数が流れたら音楽再生をストップできると、寝る時などに便利です。
現在はタイマーで時間を設定してスリープさせていますが、2度手間なもので。
これも気長に待ちますので、バージョンアップの検討材料にして下さい。
操作・機能を間違えて解釈しているようなら教えて頂けると助かります。

sawatsawat2010/12/10 01:16> iAlbumPlayer を一度起動するとエンドレスに曲が流れるようですが、これが仕様ですか?
はい。
iAlbumPlayerを起動している間はずっと再生が続きます。というか、もともとアルバムシャッフルとその連続再生の機能しかありませんでした。
逆に言えば、ホームボタンを押してiAlbumPlayerを停止してしまえば一括再生分で再生が終わります。
一括再生枚数が1枚なら、そのアルバムの最後の曲で終わりになります。

sawatsawat2010/12/10 01:21あと、iOS4.2を使っているなら、純正のiPodアプリ内で再生対象になってる曲のリストが見れますよ。
(「再生中」の画面の右上のボタン。昔はただのアルバムの曲一覧しか表示されなかったけどiOS4.2で変更されたみたい。)

2010-11-16

iAlbumPlayerの提供を一時的に停止しています

22:54 | はてなブックマーク - iAlbumPlayerの提供を一時的に停止しています - sawatのiPhoneアプリ日記

iOS4.2対応アップデートです。新機能はありません。

申し訳ありません。iOS4.1で本バージョンを使用するとプレイリスト選択画面でクラッシュする不具合がありました。

バージョンアップしていない方がバージョンアップしてしまわないように、一時的にAppStoreでの提供を停止しています。

ご不便をおかけして大変申し訳ありません。現在、対処版の作成中です。

takataka2010/11/16 13:08iAlbumPlayer起動中画面の下部青字をタップするとシャッフル範囲を変更出来るという認識でOKでしょうか?
当方のiPhone3gs+iOS4.1の環境で青字部分をタップすると、どうしてもアプリが落ちてしまいます。
今朝アップデートしてからなのか、それ以前からの問題なのかは導入したばかりの為不明です・・・。

sawatsawat2010/11/16 15:48taka様、情報提供ありがとうございます。AppStoreのレビューにも同等の報告がありました。本バージョンの問題だと思います。申し訳ありません。

|