問題タブ [mediaplayback]

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.

0 投票する
1 に答える
284 参照

apache-flex - mx:MediaPlayback Flex タグ

gui/flex/songs.mxmlBruce Eckel のThinking in Javaブックの第 4 版をコンパイルしようとしていますが、Flex 3.4 でコンパイル エラーが発生します。

同じエラーが発生する例の簡略化されたバージョンを次に示します。

呼び出しとエラーは次のとおりです。

ここで何が間違っていますか?

0 投票する
2 に答える
1338 参照

wpf - WPF wmv/mpgファイルのスキップとジャンプ

MediaElementコントロールを使用していくつかのWMV/MPGファイルを再生しようとしていますが、何らかの理由で、ビデオファイルの再生中にジャンプしてスキップします。

私はWPFアプリケーションの外部でそれらを単独で再生しましたが、問題なく再生されているようですが、なぜそうなるのでしょうか。

私はそれらをより小さくするようにスケーリングします、それは問題になる可能性がありますか?

また、コーデックの問題だと思われる場合は、アプリケーションをダウンロードして、エンコードの種類を確認できますか?完全に再生されるビデオファイルは1つ(そして1つだけ)あるので、可能であればそのファイルを模倣したいと思います。

編集:「サンプルビデオ」フォルダにあるVistaビデオの1つを使用しようとしましたが、それもびくびくしています...理由はわかりません。そのWMVファイル。

何らかの理由で、1つのビデオファイルを正常に再生できます。これはMPGファイルです(実際には1回だけスキップし、気付くのは難しいです)。MPGファイルであることに興味があります。

どうもありがとう!マーク

0 投票する
2 に答える
1681 参照

wpf - SpeedRatio&MediaTimeline

メディアを連続ループで再生しながら、MediaElementのSpeedRatioに影響を与えようとしています。

これは、コードビハインドによって可能になります。メディアが終了したら位置をリセットできますが、再生に継ぎ目ができます。

シームレスな再生のためにMediaTimelineを使用していますが、Media Timelineを使用すると、SpeedRatioを変更できません。

mediaElementで再生をループしたり、SpeedRatioを処理したりするための別のアプローチを持っている人はいますか?

アップデート:

タイムラインを停止し、タイムラインのSpeedRatioを変更すると、探している結果を生成できます。残っている唯一の問題は、タイムラインを停止したのと同じ位置から開始することです。タイムラインを一時停止しても、SpeedRatioを変更することはできません。

私はまだ代替案を歓迎します。

0 投票する
1 に答える
2389 参照

c# - DirectShow EVR のサイズ変更ウィンドウの問題

そこで、Windows のメディア再生の世界を調べ、DirectShow を使用して C# メディア プレーヤーを作成し始めました。私は VRM-7 のウィンドウ付きビデオ レンダラーを使い始めましたが、いくつかの小さな問題 (マルチ モニター、フルスクリーン) があったことを除けば素晴らしいものでした。しかし、いくつかの調査の結果、VRM9 は非推奨であり、VRM9 を使用する必要があることがわかりました。それで、VRM9ウィンドウレスを使用するように変更し、それが古い投稿roflであることがわかりました>_<したがって、最終的にVista / Win7(またはXP .net 3)Enhanced Video Renderer(EVR)を使用しています。これは明らかに最新ですMicrosoft ビデオ レンダラーであり、派手なパフォーマンス/品質がすべて追加されています。(ちなみに私は何の違いにも気づいていませんが、それに気付くにはブルーレイまたは HQ ビデオが必要かもしれません)。

EVR を使用すると、ビデオのサイズ変更以外はすべて正常に機能します。それは本当にラグ/途切れ/ティアリーであり、おそらくフレームのキューイングメカニズムに関係しています.

私の問題を実証するには

  1. Windows Media Player クラシックを開きます。
  2. 表示 -> オプション -> 再生 -> 出力
  3. 「EVR」DirectShow ビデオ レンダラーを選択

wmp クラスを再起動してビデオを再生します。再生中にコーナーをクリックしてドラッグし、サイズを変更します。あなたはその恐ろしく遅れていることに気付くでしょう。これは私が抱えている問題とまったく同じです。

しかし、「EVR Custom Pres. **」または「EVR Sync **」を選択した場合、サイズ変更は美しく機能します!そこで、EVR のサイズ変更の問題とその修正方法についてグーグルで調べてみましたが、信じられないほど少ないものしか見つかりませんでした。 "Custom Pres." は "Custom Presenter" の略で、EVR と他の EVR の間で交換すると、右側の灰色の Resizer ドロップダウンに気付くでしょう。アウト。

したがって、基本的に、この遅れたサイズ変更の問題を修正する方法を知りたくないのですが、適切なドキュメントはありますか? VMR7/9 にはかなりの量がありますが、EVR にはあまりありません。サンプルが含まれているように見える DirectX SDK をダウンロードしましたが、関連するものが何もないため、500MB の帯域幅が無駄になりました。

それが問題である場合、おそらくフレームをキューに入れないようにする方法がありますか? コードで単語を言う場合は、いくつか貼り付けます。しかし、それは非常に単純で、何も起こりません。EVR レンダラーに問題があると確信しています。

編集:ああ、もう1つ、VLCは何を使用していますか? vlc オプションに移動して、レンダラーをデフォルト以外に変更すると、それらはすべてうまくいきません。VMR7を使用していますか?それとも独自の?

0 投票する
1 に答える
2651 参照

silverlight - Windows Phone 7 でビデオを再生する

MediaElement コントロールを使用して WP7 で WMV ファイルを再生しようとしていますが、MediaElement コントロールの MediaFailed イベントで常に "ag_e_network_error" 例外が発生します。この解決策を見つけましたが、電話がまったく接続されていないため、うまくいきません。他に考えられる解決策はありますか?

xaml は次のとおりです。

「/Media/Wildlife.wmv」の「ビルド アクション」は「コンテンツ」に設定され、「出力ディレクトリにコピー」は「常にコピー」に設定されています。

ありがとう!

0 投票する
3 に答える
5390 参照

iphone - MPMoviePlayerController でシークできません

MPMediaPlayerController でタイムラインをシークします。

MPMediaPlayerController の文書化されていないメソッド setCurrentTime を次のように試しました。

その後、リンゴは次のようにクラッシュします...

0 投票する
1 に答える
1448 参照

ios - AVURLAssetは適切に初期化されますが、関連するAVPlayerLayerが黒くなることがあります

ユーザーがローカルビデオファイルから選択できるアプリケーションがあります。これらのサムネイルの1つがプッシュされると、ユーザーには、ビデオを表示するために作成したカスタムビデオプレーヤーを含む新しいビューが表示されます。

これは問題なく機能しますが、たまにしか機能しません。面白いことに、ユーザーが新しいビデオを正確に5回選択すると(つまり、新しいビューが表示され、新しいカスタムビデオプレーヤーオブジェクトが初期化されます)、プレーヤーからのビジュアルを表示するために使用される基になるAVPlayerLayerは黒くなりますが、基になるアセットがまだ正しく読み込まれているようです(プレーヤーインターフェイスは、ビデオの正しい継続時間などを保持しています)。

新しいカスタムメディアプレーヤーオブジェクトが初期化されると(これは、ビューを含むメディアプレーヤーのビューコントローラーがロードされるときに発生します)、これはAVPlayerとそれに関連するアイテムをセットアップする初期化メソッドの一部です。

このカスタムメディアプレーヤーオブジェクトを正確に5回初期化すると、常に黒い画面のレンダリングが開始されます。

なぜこれが起こっているのか誰かが知っていますか?

0 投票する
2 に答える
11358 参照

android - トラック メディア プレーヤー アンドロイドの変更

現在、問題なく再生される MediaPlayer を使用して曲を再生しています。ユーザーが別の曲を選択すると、それを再生しようとしています。しかし、MediaPlayer で error(1,-2147483648) と Error(1, -2147483648) が出ます。これらのログは、prepareASync() の呼び出し後に出力されます。注: ファイルのパスは正しいようです。ただし、有効なファイルパスを確認するにはどうすればよいですか?

シーケンスは次のとおりです。

参照用のコードは次のとおりです。私のメインアクティビティの onResume() で(再生を開始したいときに)、 MusicUtils.createPlayer(); を呼び出しています。および MusicUtils.playTrack(mCurrentTrack);

This function is present in MusicUtils and is used to obtain the first track that the cursor returns

The following function is used to obtain all the tracks on the device to display using the ListActivity.

I use the ID that the user selects and obtain the filepath in the following way:

ログキャット:

08-31 18:07:36.348: D/dalvikvm(23090): GC_EXTERNAL_ALLOC は 2K を解放し、46% は 3088K/5703K を解放し、外部は 1461K/1538K を一時停止しました。

08-31 18:07:38.860: D/tag(23090): oncreate 内部

08-31 18:07:38.860: D/ImageSwitcher(23090): キャッシュ サイズ:1

08-31 18:07:39.030: D/ImageSwitcher(23090): 画像の総数: 838

08-31 18:07:39.150: I/AudioSystem(23090): オーディオ フリンガーを取得しています

08-31 18:07:39.150: I/AudioSystem(23090): 新しいオーディオ セッション ID を返します

08-31 18:07:39.150: D/IAudioFlinger (23090): newAudioSessionId で

08-31 18:07:39.150: D/IAudioFlinger (23090): newAudioSessionId アウト、id = 175

08-31 18:07:39.150: D/MediaPlayer(23090): リセット()

08-31 18:07:39.150: D/MediaPlayer(23090): リセット () アウト

08-31 18:07:39.150: D/MusicUtils(23090): リセット後

08-31 18:07:39.160: D/MusicUtils(23090): setDataSource の後

08-31 18:07:39.160: D/MusicUtils(23090): setOnPreparedListener の後

08-31 18:07:39.160: D/MusicUtils(23090): errorListener 設定後

08-31 18:07:39.170: D/MusicUtils(23090): prepareAsync 後

08-31 18:07:39.250: D/MediaPlayer(23090): start() で

08-31 18:07:39.260: D/MediaPlayer(23090): start() アウト

08-31 18:07:39.270: D/MediaPlayer(23090): start() で

08-31 18:07:39.270: D/MediaPlayer(23090): start() アウト

08-31 18:07:39.270: D/MusicUtils(23090): 開始後

08-31 18:07:49.340: D/MediaPlayer(23090): 一時停止()

08-31 18:07:49.340: D/MediaPlayer(23090): pause() out 08-31 18:07:49.560: D/dalvikvm(23090): GC_CONCURRENT 解放された 239K、45% 解放された 3260K/5831K、外部 494K/ 1006K、一時停止 10ms+7ms

08-31 18:07:50.842: D/Music List(23090): getAllSongsFromSDCARD の前に onCreate で

08-31 18:07:50.922: D/TAG(23090): セットアダプター

08-31 18:07:50.922: D/TAG(23090): セット アダプタ完了

08-31 18:07:51.953: D/dalvikvm(23090): GC_EXTERNAL_ALLOC が 146K を解放、3264K/5831K を 45% 解放、外部 794K/855K、一時停止 29ms

08-31 18:07:53.905: D/MusicList(23090): setItemChecked 後

08-31 18:07:54.585: D/設定 (23090): onActivityResult 内

08-31 18:07:55.476: W/KeyCharacterMap (23090): keycharmap ファイルを開けません

08-31 18:07:55.476: W/KeyCharacterMap(23090): keycharmap の読み込みエラー

ファイル「/system/usr/keychars/cy8c-touchscreen.kcm.bin」。hw.keyboards.65538.devname='cy8c-touchscreen' 08-31 18:07:55.476: I/KeyCharacterMap(23090): デフォルトのキーマップを使用: /system/usr/keychars/qwerty.kcm.bin

08-31 18:07:55.486: D/MediaPlayer(23090): リセット()

08-31 18:07:55.486: D/MediaPlayer(23090): リセット () アウト

08-31 18:07:55.486: D/MusicUtils(23090): リセット後

08-31 18:07:55.486: D/MusicUtils(23090): setDataSource の後

08-31 18:07:55.486: D/MusicUtils(23090): setOnPreparedListener の後

08-31 18:07:55.486: D/MusicUtils(23090): errorListener 設定後

08-31 18:07:55.486: D/MusicUtils(23090): prepareAsync 後

08-31 18:07:55.496: E/MediaPlayer(23090): エラー (1、-2147483648)

08-31 18:07:55.506: E/MediaPlayer(23090): エラー (1,-2147483648)

08-31 18:07:55.506: D/MusicPlayer(23090): エラー: 1,-2147483648

0 投票する
1 に答える
15583 参照

android - アクティビティを開始せずに通知からアクションを使用する方法

だから私は単純な音楽プレーヤーに取り組んでいます。音楽プレーヤーは、名前が示すように、曲を再生し、再生を一時停止し、次の曲に進み、前の曲に戻り、再生を完全に停止できます。曲を再生すると、アーティスト名と曲名とともに通知が表示されます。この通知には、停止、一時停止、次の 3 つのボタン (アクション) もあります。

私が問題を抱えているのは、いずれかのアクションがクリックされたときに、アクションに関連する再生コントロールがトリガーされるようにすることです。それを行う方法がまったくわかりません。私は Android 通知を検索しました: http://developer.android.com/guide/topics/ui/notifiers/notifications.htmlしかし、通知アクションに関する情報を明確にしていないか、あまりにも多くの情報を提供していません。

たとえば、簡単なアクションを次に示します (これは、通知の [次へ] ボタンのクリックに関連付ける必要があります:注:以下で説明するすべてのコードは、次のパッケージの下に記述されています: :プレイヤーのアクティビティ

これが私がやろうとしたことです:

NextIntent のアクションは次のとおりです。

そして、それを addAction() 経由で通知に追加します。

他に何を試すことができるか知っていますか?上で説明したことを使用しても何も起こらず、通知が表示され、3 つのアクション ボタンがありますが、それらをクリックしても何も起こりません。

ある時点で、アクション名を使用してインテント フィルターを追加すればよいのではないかと考えましたが、それらはすべて同じ名前空間にあるのではないかと考えました。