問題タブ [mpmusicplayercontroller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - バックグラウンドで作成されている場合、iPodMusicPlayerは通知を送信しません
iPodMusicPlayerがバックグラウンドで作成されている場合、再生状態の変更に関する通知は送信されません。
コードは次のとおりです。
バックグラウンドでiPodMusicPlayerを作成する方法はありますか?それ以外の場合、メインスレッドで作成されると、しばらくの間実行がブロックされます。
iphone - 適切な iPhone オーディオ クラスを選択するのを手伝ってください - MPMoviePlayer vs AVAudioPlayer vs MPMusicPlayer
MPMoviePlayer と AVAudioPlayer と MPMusicPlayer の違いに関する優れたチュートリアルを知っている人はいますか?
外部 URL で入手できる mp3 ファイルからオーディオを再生したいと考えています。
理想的には、iPod のようなオーディオ ビューで再生されます。私は MPMoviePlayer をいじりましたが、オーディオが「映画を再生中」というメッセージが表示されると、コントロールが消え、白いクイックタイム スプラッシュ ページが表示されるため、ビデオに適しているようです。
標準の iPod オーディオ コントロールを常に表示し、その背後にある画像をカスタマイズしたいと考えています。
ios4 - iOS 4 で MPMusicPlayerController を使用したバックグラウンド オーディオとリモート コントロールのサポート。
私はこれに2日間費やしましたが、どこにも行きませんでした。[MPMusicPlayerController applicationMusicPlayer] を使用して、ユーザーの iPod ライブラリから選択したオーディオを再生し、バックグラウンドで実行し、リモート イベントをサポートしようとしています。実際に音楽を再生するのは簡単です。インスタンスを取得し、曲を選択し、ミュージック キューを割り当てて再生します。やった、やった。しかし... a) バックグラウンドで再生することができず、b) フォアグラウンドにいても、リモート コントロール イベントをまったく動作させることができません!
そして、あなたが尋ねる前に、はい、私は plist エントリ、オーディオ セッション カテゴリ、リモート イベントの取得に興味があることを伝える呼び出しを設定し、それらをリッスンする最初の応答者を設定しました。私が見つけることができた主題に関するすべてのドキュメントを読みました* (*このトピックについてまったく明確ではなく、サンプルコードがないことでAppleを責めます!)それに関連する WWDC ビデオ (サンプルからコードを正確にコピーするために画面をフリーズすることさえあります...) したがって、このリストにないものを見逃していない限り、これらの回答のいずれかを返信しても役に立ちません。
もう1つ...ドキュメントによると、アプリケーションセッションを使用しないMPMusicPlayerControllerの使用について明示的に話しています。常にシステム セッションを使用します。(それ自体が私の質問に答えるかもしれませんが、ドキュメントはそれを明確に言っていないので、よくわかりません。したがって、この質問です。)
そうは言っても、2日経った私の考えは次のとおりです。
MPMusicPlayerController を使用する場合、呼び出すメソッドや設定する plist エントリに関係なく、アプリがバックグラウンドで実行されることはありません。限目。ipodMusicPlayer インスタンスを使用すると、音楽が再生され続けますが、これは再生しているのはアプリではなく iPod であるためです。代わりに applicationMusicPlayer インスタンスを使用すると、バックグラウンドに移行すると音楽が停止します。どちらの場合も、アプリは中断されています。
ipodMusicPlayer インスタンスまたは applicationMusicPlayer インスタンスの使用に関係なく、すべてのリモート イベントは、明示的に要求した場合でも、iPod アプリケーションではなく、iPod アプリケーション自体に送信されます。applicationMusicPlayer インスタンスを使用していて、リモコンを使用して「再生」を選択すると、iPod アプリがコマンドを受信するため、オーディオがダックアウトして中断され、iPod アプリで再生が開始されます。代わりに ipodMusicPlayer を選択した場合は、基本的にリモート イベントを実際に受信する iPod アプリをリモートで制御することに関心があるだけであると明示的に述べているため、もちろん問題ではありません。
下部にあるクイック スイッチ コントロールのアイコンがアプリのアイコンに変わることはありません。これは、アプリが実際にイベントを受信するように設定されていないためです。iPod アプリケーションは、そのアイコンがそこに表示される理由です。
だから私が知りたいのは... 私はここで間違っていますか? MPMusicPlayerController の使用に成功し、リモート イベントを傍受できた人はいますか? バックグラウンド ミュージックをサポートする applicationMusicPlayer を使用して、ユーザーの iPod をいじらないようにしたいのですが、より大きな問題はリモート コントロール通知です。つまり、ipodMusicControl を使用し、アプリをフォアグラウンドに保持してそれらをインターセプトする必要がある場合です。メッセージ、それでいいです。それは醜いですが、少なくともそれは何かです。
コード例、または少なくとも組み込みのアプリ テンプレートの 1 つに対する明示的な手順は、非常に高く評価されます。(実装さえ必要ありません...ただの手順です。うまくいけば、人々が質問に答え続ける避けられない「それはまだNDAの下にあります」ということをなだめるでしょう。)
マーク
iphone - バックグラウンドでiPodコントロールを有効にして、iOS 4でiPod以外の音楽をコントロールするにはどうすればよいですか?
私が達成しようとしていることの良い例は、Spotify iPhoneアプリケーションの最新バージョンに実装されています(Pandoraは同じ機能を持っているようです)。
Spotifyがバックグラウンドにある場合、ダブルタップすると「マルチタスクドック」が開き、iPodコントロール(再生/一時停止、転送など)でSpotifyの音楽再生を制御できます(iPodアプリケーションではありません)。また、iphone / ipod touchがロックされている場合、ダブルタップすると同様の再生コントロールが表示されます。
私が何を意味するのかわからない場合は、スクリーンショットのある記事があります: http ://www.wired.com/gadgetlab/2010/07/spotify-updated-for-ios4-ready-to-replace-ipod/
私の現在のアプリケーションでは、音楽はサーバーからストリーミングされます(Matt GallagherのAudioStreamerを使用)。私はなんとか音楽をバックグラウンドで再生し続けることができました。ここで、再生を「マルチタスクドック」/ロック画面にリンクしたいと思います。
使用する必要があり[MPMusicPlayerController iPodMusicPlayer]
ますか?どうすればいいですか?
ボーナスの質問:「マルチタスクドック」でiPodアイコンをアプリケーションアイコンに変更する方法を教えていただければ(Spotifyもそのトリックを引き出しました...)、それは素晴らしいことです。
助けてくれてありがとう。
iphone - MPMusicPlayerController が iTunes の同期後に動作を停止する
MPMusicPlayerController が通知の送信を停止するという同様の質問があることは知っていますが、その質問に対する答えはこの問題を解決しません。
私は iOS 4 を使用していますが、これはマルチタスク対応デバイスと非マルチタスク デバイスの両方で発生します。iPhone 4、iPhone 3GS、iPod touch 2G、iPod touch 1G でテストしました。
この問題をテストするためだけのプロジェクトがあります。MPMusicPlayerController を使用して iPod の音楽再生を制御し、nowPlaying 項目が変更されたときに通知を受け取るので、アートワーク、アーティスト、およびタイトルを更新できます。最初に起動したときは問題なく動作します。しかし、デバイス上の iPod.app を終了して私のアプリに戻ると思われる iTunes 同期を実行すると、アプリは MPMusicPlayerController からの通知を受信しなくなるため、Now Playing Item の表示は更新されません。
このプロジェクトでは、iPod ライブラリからプレイリストを選択して再生を開始することもできます。また、同期後に動作を停止します。プレイリストのリストを取得することはできますが、それらを iPod ミュージック プレーヤーのキューに入れようとしても何も起こりません。
MPMusicPlayerController の古いインスタンスを解放しても機能しません。通知の登録解除と再登録は機能しません。アプリと iPod.app 間の IPC に問題があるようです。それを修正する唯一の方法は、アプリを強制終了して再起動することです。
他にこの問題を抱えている人はいますか?
iphone - ネットワーク経由で mp3 ファイルを再生するための iPhone SDK のサポート
デスクトップで実行されている Web サーバーにアクセスして mp3 ファイルにアクセスして再生するアプリケーションを作成しています。MPMusicPlayerController (および UIWebview を試した) を使用してオーディオ ファイルを処理し、ファイルを段階的にダウンロードした後に自動的に再生します。ファイルのプログレッシブ ダウンロード後に曲をスキップして再生する方法はありませんが、セルラー ネットワークでは適切な解決策ではありません。
理想的には、次の機能が必要です 1.クライアントは、特定のビットレートを使用してストリームを作成するように要求します(さまざまなネットワーク条件を処理するため) 2.クライアントは曲をスキップできる必要があります
誰かが私を正しい方向に向けることができますか? m3u8 ファイルはこれらの機能をサポートできますか?
事前に助けてくれてありがとう。
iphone - MPMusicPlayer を使用した iPhone アプリのバックグラウンド処理
私は、ユーザーの iPod ライブラリから音楽を再生することを組み込んだ iPhone iOS4 アプリケーションに取り組んでいます。また、再生された曲を追跡し、バックグラウンドでもランダムに曲を変更できるようにしたいと考えています。そこで、次を使用して音楽プレーヤーを設定しました。
ここで、このアプリケーションを引き続き実行し、バックグラウンドで音楽を再生したいので、次のように設定しました。
私が抱えている問題は、アプリケーションがバックグラウンドに移動したとき (applicationDidEnterBackground が呼び出されたとき、つまりアプリの切り替え時) にアプリケーションが制御を失うことです。私は iPodMusicPlayer を使用しているため、音楽は引き続き再生されますが、私のアプリは制御できないため、曲を追跡または変更できません。
現在、Apple のドキュメントには、この必須のバックグラウンド モード タグを使用してアプリケーションをバックグラウンドで実行し続ける必要があると記載されていますが、私の場合はそうではありません。MPMusicPlayerを使っているからでしょうか?それを回避する方法はありますか?何か案は?
PS。また、リモートでロックされたマルチタスクの iPod コントローラをアプリケーションで動作させることも試みています。以下のコードを使用していますが、remoteControlReceivedWithEvent が呼び出されることはありません。MPMusicPlayerで動作しますか? 私は AVAudioPlayer でしか見たことがありません。
core-audio - iOS 4 でオーディオ セッションの「ダッキング」が壊れる...?
MPAudioPlayerController を使用して iPod 音楽ライブラリにアクセスし、AVAudioPlayer を使用して音楽の上にオーディオをオーバーレイするアプリを作成しました。このドキュメントをガイドとして使用しました。具体的には:
最後に、カテゴリを拡張して、オーディオの再生中に他のオーディオの音量を自動的に下げることができます。これは、たとえば、運動アプリケーションで使用できます。アプリケーションが音声メッセージをオーバーレイしたいときに、ユーザーが iPod に向かって運動しているとします。たとえば、「あなたは 10 分間ボートを漕いでいます。アプリケーションからのメッセージが理解できるようにするには、kAudioSessionProperty_OtherMixableAudioShouldDuck プロパティをオーディオ セッションに適用します。ダッキングが行われると、電話の音声を除く、デバイス上の他のすべての音声の音量が下がります。
しかし、私はこの動作を見ていません。実際、私が見た (むしろ聞いた) ことは、kAudioSessionProperty_OtherMixableAudioShouldDuck を true に設定して AudioSession をセットアップすると、MPAudioPlayerController の初期ボリュームが減少し、MPAudioPlayerController で一時停止を呼び出す (そして再度再生する) と、ボリューム レベルが低下することです。 「通常」レベルまで上昇します。AVAudioPlayer を再生しても、オーディオ レベルには影響しません...
そこで、これを再現するための簡単なテスト ケースを設定しました。
ViewController ヘッダーで:
そして実装では:
いくつかの UIButton を配線しました。1 つは musicAction (MPMusicPlayerController の再生/一時停止に使用) 用で、もう 1 つは soundAction (AVAudioPlayer の再生/一時停止に使用) 用です。
前述のように、musicAction ボタンをタップすると音楽が再生されますが、音量レベルが下がり、soundAction ボタンをタップするとオーバーレイが再生されますが、MPMusicPlayerController の音量には影響しません。さらにバグのように、MPMusicPlayerController を一時停止してから再生すると、AudioSession をセットアップしなかった場合と同じレベルまで音楽の音量が上がります。
他の誰かがこの経験をしたことがあるかどうか、もしそうなら、回避策を見つけた場合 (または、私が何か間違ったことをしていることを教えてください) を知りたいです。それ以外の場合は、レーダーに行くと思います。
どうもありがとう、
レヴィ
iphone - iPodの音楽とavaudioplayerを一緒に再生する
ユーザーがサウンドを録音し、音楽ライブラリのバックグラウンドミュージックで同じサウンドを聴くアプリケーションを作成しようとしています。ただし、AVAudioplayerを使用して録音したファイルを再生しようとすると、バックグラウンドミュージック(iPod Player)が非常に低くなり、聞こえなくなります。AVAudioPlayerとiPodプレーヤーの両方を同じレベルで再生するために設定する必要のあるセッションプロパティはありますか?allowMixingプロパティを配置しようとしましたが、成功しませんでした。
iphone - MPMediaPickerController のナビゲーション バーの色を変更できますか?
ユーザーが自分のアプリで自分の曲を選択できる MPMediaPickerController があります。問題は、アプリ全体に「黒」のナビゲーション バーがあり、ピッカーが標準の青であることです。ピッカーをサブクラス化することは許可されていない/可能ではないことがわかりましたが、ナビゲーションバーを「黒」に変更する他の方法はありますか?