問題タブ [mpnowplayinginfocenter]
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.
ios - ジェイルブレイクされた iOS デバイス用アプリ: 一貫したバックグラウンド操作
私は AirFloat と呼ばれる Cydia の微調整の作成者です。AirPlay オーディオ プロトコル (以前は AirTunes と呼ばれていました) を実装し、オーディオをiOS デバイスにストリーミングできるようにするアプリ。AirFloat は、Apple が App Store から起動するまでは、もともと App Store アプリでした。
それ以来、Cydiaで無料で利用できるようにしました。現在、アプリは以前の App Store バージョンとまったく同じように Cydia に存在します。この結果、バックグラウンドで動作させるようにという多くのリクエストを受け取ります。しかし、私はそれを機能させることができません。
基本的には2つのアプローチを考えています。
注: AirFloat は、現在再生中のトラックを iOS ロック画面に表示します。
実際の AirPlay 実装を実行し、 notifyを使用して UI アプリと通信するデーモンを作成します。これは機能します。すこし。実行してオーディオを再生しますが、MPNowPlayingInfoCenter は非 UI アプリケーションから更新できないようです。また、デーモンがユーザーmobileとして実行されている場合。
2 番目のアプローチは、すべてを UI アプリケーションで機能させることです。しかし、私はそれが中断されないのに苦労しています。「必要なバックグラウンド モード」をaudioおよびContinuousに設定しました。サーバーはまだ実行されている可能性がありますが、バックグラウンドで実行ループが停止するため、Bonjour アドバタイジングは停止します。次に、SpringBoard を使用してアプリを自動的に起動し、異常終了時に再起動する必要があります。
個人的には、プロセス間通信を避けるため、2 番目のアプローチを好みます。そして、このアプローチを機能させるには、完全なバックグラウンド実行 (実行ループを含む) が必要であり、SpringBoard の起動時に起動し、異常終了時に再起動する必要があります。
これを解決する方法について何か提案はありますか?
ios - iOS - マルチタスキング バーでのメディアの再生/一時停止状態の更新
AU グラフ (CoreAudio API) を使用してオーディオを再生する実用的なアプリがあります。グラフは常に実行されており、さまざまなソース マテリアルの再生/一時停止状態は、グラフ レンダリング コールバック関数で管理されます。UIEventTypeRemoteControl イベントに正常に応答し、MPNowPlayingInfoCenter を使用して、現在再生中のコンテンツのメタデータでロック画面を正常に更新しました。
1 つ欠けているのは、iOS マルチタスキング バーの再生/一時停止ボタンの状態を更新することです。アプリのオーディオが既に一時停止されている場合でも、常に「一時停止」(||) モードになります。「再生」(>) 状態に切り替わることはありません。
再生/一時停止ボタンの状態を更新するために使用される API はどれですか?
ios - 音楽の再生中にiPhoneの壁紙を変更する
音楽再生中にiPhoneのロック画面の壁紙を変えることはできるのだろうか。Music アプリとまったく同じことをしたい。これはクローズド API だと思っていましたが、Spotify アプリでもできることがわかりました。
これについて .plist を探していますが、有用なものは見つかりませんでした。
ios - AVAudioPlayer、MPNowPlayingInfoCenter、およびオーディオ メタデータ
AVAudioPlayer を使用してオーディオ ストリーミングを実行しています。ロック画面にいくつかのオーディオ メタデータ (アーティスト、アルバム名、タイトル、アートワークなど) を表示したいと思います。ただし、次のような問題が発生しています。
• ステートメントを使用する場合
URL を作成すると、メタデータを取得できます。しかし、オーディオ プレーヤーは停止し (数秒間のオーディオを再生するだけ)、オーディオを終了しません。
• ステートメントを使用する場合
URL を作成するために、オーディオ プレーヤーは正常に動作します。しかし、コードはメタデータを取得するために for (NSString *format in [asset availableMetadataFormats]) ループに入りません。
以下は、メタデータを取得するために使用しているコードです。上記の 2 つの NSURL 作成の違いを知りたいです。また、この問題を修正して、メタデータを取得するときにオーディオ プレーヤーが正常に動作するようにする方法。よろしくお願いします。
iphone - 音楽が再生中か一時停止中かを MPNowPlayingInfoCenter に伝えるにはどうすればよいですか?
iOS のリモート オーディオ コントロールに正しい再生/一時停止ボタンを表示させることができないようです。nowPlayingInfoリモート コントロール イベントを受け取り、ディクショナリのすべての値を設定します。
すべて正常に動作し、ロック画面にカバー写真も表示されます。一時停止/再生ボタンを除く。再生中であっても、常に一時停止しているように見えますAVAudioPlayer。再生状態に関係なく一時停止イベントを送信します。
AVAudioPlayer が一時停止され、リモコン ボタン バーに再生ボタンが表示されるようになったことを iOS に通知するにはどうすればよいですか?
iphone - MPNowPlayingInfoCenter は AVAudioPlayer と互換性がありますか?
-play で開始しAVAudioPlayer、 nowPlaying 辞書を次のように設定します。
ロック画面には常に一時停止ボタンが表示されます。リモコン イベントを正しく受信し、リモコン イベントを介して再生/一時停止を切り替えることができますが、再生中でもロック画面に「一時停止」と表示され続けます。
これで、MPMoviePlayerController で動作することがわかりました。MPNowPlayingInfoCenter が再生ボタンまたは一時停止ボタンを表示するかどうかを決定する方法を誰か説明できますか?
ios - MPNowPlayingInfoCenter がシミュレーターで動作しない
と格闘してきたところMPNowPlayingInfoCenterです。しばらくすると、iPhoneで動作するようになりました。
ただし、シミュレーターでは機能しません (iOS 6 および 7 でテスト済み)。何か間違ったことをしていますか、それともシミュレーターで明示的にサポートされていませんか?
ios - ロック画面に巻き戻しボタンを追加するには?
AVPlayerを介して、iPhone のロック画面の表現を実現しましMPNowPlayingInfoCenterた。しかし、標準の音楽アプリのように±15秒の巻き戻しボタンを追加する方法が見つかりません。問題は、ロック画面にこのボタンを追加する方法です。
ios - ロック画面の AVAudioPlayer
AVAudioPlayer(not )を使用してオーディオ プレーヤーを実装しましたAVPlayer。次の方法でリモート コントロール イベントを処理できます。これまでのところ問題なく動作しますがsubtypes、これらのイベントにはさらに 2 つのイベントがあります:UIEventSubtypeRemoteControlEndSeekingForwardとUIEventSubtypeRemoteControlEndSeekingBackward.
だから質問:
正しく動作させるために、これら 2 つのサブタイプも実装する必要がありますか?
この方法では、ロック画面で
rewind、play/pause、およびボタンのみが有効になりますが、ファイルのタイトル、アートワーク、および期間は表示されません。fast forwardまたはを使用してその情報を表示するにはどうすればよいですAVAudioPlayerかAVAudioSession(これを実装するためにもう 1 つのライブラリ/API は必要ありません)。2-a。検索中に発見
MPNowPlayingInfoCenterしたのですが、よくわかりません。上記のものを実装するためにそれを使用する必要がありますか? :-[