問題タブ [mediastreamsource]
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.
c# - メディア ストリーム ソースを適切に停止する
メディア ストリーム ソース クラスを実装しました。クリックしたときにカメラフィードを停止したい。メディア要素とメディア ストリーム ソースを閉じる正しい方法は何ですか。私のアプリがクラッシュしないように。
ここに私の単純なコードがあり、Mainpage.xaml.cs
これCamerastreamSource
はから派生していますMediaStreamSource
MainPage.xaml.cs ファイル コード。
CameraStreamSource : MediaStreamSource
コード
好きなボタンをクリックして優雅にそれを閉じる方法を教えてください。私は実際にコードを閉じてMediaElement
優雅MediaStreamSource
に
streaming - MediaStreamSource に十分なサンプルがある場合に MediaElement がバッファリングする (Windows 8.1 ストア アプリ)
カスタム オーディオ/ビデオ ストリーム (ASF 形式の aac/h264 ファイル) を再生する Windows 8.1 アプリ (Silverlight または WPF ではない) があります。
ストリームを解析し、MediaElement の MediaStreamSource にサンプルを提供します (MSS SampleRequested イベントで)。ストリームは数秒間正常に再生された後、一時停止します (MediaElement の状態が再生からバッファリングに変わります)。その後、再生が再開され、停止します。
ネットワークの状態は理想的です (アプリを実行しているのと同じ PC で ISS 経由でメディア ファイルをストリーミングします)。ファイルのオーディオ部分またはビデオ部分のみを再生すると、一時停止することなく正常に動作します。MSS Buffertime を増やすと、問題が軽減されます。この問題のトラブルシューティング方法についてアドバイスをいただければ幸いです。
javascript - Android Chrome で MediaStreamAudioSourceNode を使用した getUserMedia
Android の Chrome で getUserMedia を使用してメディア ストリームを使用しようとしています。テストするために、入力ストリームを出力に単純に接続する以下のスクリプトを作成しました。このコードは Windows の Chrome では期待どおりに動作しますが、Android では何も聞こえません。ユーザーはマイクへのアクセスを許可するように求められますが、スピーカー、ハンドセット スピーカー、またはヘッドフォン ジャックから音声が出力されません。
さらに、Chrome がシステムにオーディオを再生しているかのように、音量を上げ下げするときのフィードバック ビープ音は鳴りません。
この機能が Chrome for Android でまだサポートされていないというのは本当ですか? 次の質問は似たようなものですが、どちらにも決定的な答えや説明はありません。
getUserMedia を使用するのは初めてなので、互換性を損なう可能性のあるコードを実行していないことを確認したかったのです。
また、この問題は getUserMedia 自体には当てはまらないようです。<audio>
次のコード (jQuery を使用) で示されているように、タグで getUserMedia を使用することができます。
silverlight - Silverlight MediaElement の内部バッファリング
MediaElement とカスタム MediaStreamSource を使用して h.264 フレームを再生する Silverlight アプリケーションを使用しています。MediaElement には独自の内部バッファーがあるように見えます。GetSampleAsync に返されるフレームは、返されてから 1 ~ 2 秒後に再生されます。これは私のアプリケーションにとっては問題であり、そのフレームがすぐに再生されるならもっと良いでしょう。これは何らかの方法で可能ですか、それとも Silverlight でのビデオ再生の残念な欠点ですか?
javascript - ビデオファイルから MediaStream を作成するには?
Mediastream の例のほとんどは webCam-stream による説明ですが、ローカルのビデオファイル (.webm または mp4) から MediaStream を作成する必要があります。教えてください。
c# - 複数のオーディオ ストリームを持つ Windows Phone 8 MediaStreamSource
複数のオーディオストリームでファイルを開くことができる MediaStreamSource 実装があります。OpenMediaAsync メソッドでは、すべてのビデオおよびオーディオ ストリームに MediaStreamDescription を配信しますが、MediaElement は 1 つのオーディオ ストリームしか検出しません。また、動作する次のロジックをテストしました:
2 つのストリームを検出
オーディオ ストリームの最初または 2 番目の MediaStreamDescription のみを ReportOpenMediaCompleted に報告する
しかしもちろん、1 番目と 2 番目のオーディオ ストリームを ReportOpenMediaCompleted に報告し、その結果、2 つのオーディオ ストリームを持つ MediaElement を作成したいと考えています。また、MediaStreamSource クラス内に StreamId フィールドを発見しましたが、アクセサーが設定されておらず、ReportOpenMediaCompleted でストリームをレポートすると、すべての MediaStreamDescription が StreamId == 0 になります。
OpenMediaAsync コード:
callback - GetUserMedia コールバック未定義
私は JavaScript を初めて使用し、getUserMedia API を使用してオンライン オーディオ レコーダーを作成しようとしています。私が抱えている問題は、navigator.getUserMedia を呼び出そうとするたびに、成功コールバック関数が定義されていないため、関数ではないというエラーが発生することです。コールバックの後にかっこを追加すると機能しますが、createMediaStreamSource を呼び出すと無効な MediaStream ソースに関するエラーが発生します。
getUserMedia をオンラインで使用する例をいくつか見つけましたが、オンラインで明らかに動作しているにもかかわらず、コンピューターから実行しようとすると同じ問題が発生します。
以下は私のコードです。ありがとう!
c# - BackgroundAudioPlayer の再生が始まらない
Windows Phone 8 アプリ。AudioStreamingAgent / Mp3MediaStreamSourceを使用して、ローカルにキャッシュしたり Web からロードしたりできる MP3 ファイルを再生します。
ファイルがダウンロードされると、AudioStreamingAgent /Mp3MediaStreamSource を引き続き使用して、現在の再生中に次のファイルをプリキャッシュできるようにします。はい、キャッシュされたファイルに WP8 組み込みプレーヤーのみを使用できますが、この場合、次のファイルをプリキャッシュすることはできません。
問題: いくつかのトラックの後、BackgroundAudioPlayer が再生を開始しなくなりました。
- AudioStreamingAgent.OnBeginStreaming が実行されます
- MediaStreamSource を作成するコードが実行されます
- AudioStreamer.SetSourceメソッドは、新しい MediaStreamSource インスタンスで実行されます
- PlayStateChanged は PlayState.TrackReady を使用してバックグラウンド プロセスで発生し、この場合は player.Play() が呼び出されます。
結局、トラックが UVC で表示されているのがわかりますが、状態は「一時停止」です。UVC で「再生」を押すと、Player.Play() を呼び出す OnUserAction がバックグラウンドで呼び出されます。何も変わりません。
問題が再現されたサンプル、VS 2012 (サンプルはBackground Audio Streamer Sampleに基づいています)
サンプル コードで再現する手順:
- アプリをインストールする
- 「トラックをプリロード」ボタンを押します。mp3 ファイルを XAP から IsolatedStorage にコピーします。
- 「トラック1」ボタンを押します。トラックの再生が開始されたら、「トラック 2」ボタンを押します。次に、トラック 2 の再生が開始されたら、「トラック 3」ボタンを押します。
- 「Track *」ボタンを押してもトラックの再生が開始されなくなるまで、手順 3 を繰り返します。
- 最後に選択したトラックは、UVC とページのプログレス バーの上にアクティブなトラックとして表示されます (図を参照) 。
- ほとんどの場合、他のトラック ボタンを押しても違いはありません。
この問題は、WP8 と WP8.1 の両方の開発者プレビューで、デバイスとエミュレーターの両方で再現されます。
更新:メモリ不足は当てはまりません。サンプル コードを使用して問題を再現し、backgroundlog.xml ファイルを確認すると、サンプルが許可されている 20 Mb のうち 6 Mb しか使用していないことがわかります。この図の最後の列は、「メモリ使用量|最大許容メモリ使用量」です。