
No.1ベストアンサー
- 回答日時:
ソースも何も無いからどうやって処理しているのかわかりませんが…
一般的な要因として考えられるのは
(1)
データ読み込みがタイムアウトしていて途中までしか読み込まれていない。
確か、読み込み時間指定のプロパティがあったと思います。
(2)
再生中にメモリの再配置が発生してデータの連続性が途切れた。
再配置が起きないように読み込み先のメモリを固定する必要があります。
PlaySyncメソッドはPlayメソッドのように新しいスレッドを立てて動くのでなく、それまでの処理をしてるスレッドで動作します。したがって、この辺りの動作状況が異なってくる場合があります。
この回答への補足
早速のご回答ありがとうございました。以下に示すソースで実行しています。現在はコメント部を生かして凌いでいます。ご検討かたよろしくお願いもうしあげます。
System.Media.SoundPlayer player = null;
・
・
try
{
player = new System.Media.SoundPlayer(waveFile);
int time = player.LoadTimeout;
//Console.WriteLine("player.LoadTimeout={0}", time); //以下は演奏時間の推測
//FileInfo finf = new FileInfo(waveFile);
//double dln = (double)finf.Length; ;
//time = (int)((dln / 55514000.0) * 311000.0 + 5000.0);
//player.LoadTimeout = time + 100 ;
//Console.WriteLine("player.LoadTimeout={0}", time);
player.Load();
while (true){if(player.IsLoadCompleted){Console.WriteLine("player.Load completed", time);break;}}
player.PlaySync(); //これを止めて以下の非同期再生にすると上手く終わる
//player.Play();
//Thread.Sleep(time);
}
catch (Exception ex){Console.WriteLine("例外発生(SoundPlayComplete)" + ex.Message);}
ありがとうございました。演奏時間の長めの推定値を求め、その値を設定してもそれより短い時間で停止してしまうので、非同期再生で凌ぐことにしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- iPhone(アイフォーン) iPhoneのショートカット作成について 1 2022/06/01 17:17
- タブレット タブレットでApple Musicをスピーカーで聴いていますが「Wi-Fiが弱いせいか途中で切れるこ 3 2023/06/14 16:02
- Chrome(クローム) Google Chrome の同期が必ず一時停止になってしまい困っています。 GoogleChrom 2 2023/02/04 16:45
- Chrome(クローム) Google Chrome の同期が必ず一時停止になってしまい困っています。 GoogleChrom 1 2023/02/05 09:59
- デスクトップパソコン Google Chrome の同期が必ず一時停止になってしまい困っています。 GoogleChrom 1 2023/02/05 19:19
- テレビ テレビ(TOSHIBAのREGZA)にてAmazonPrimeVideoを再生することができません。 3 2022/08/20 19:18
- その他(AV機器・カメラ) 動画音声の「一部」がモノラルオーディオだと再生できない 2 2022/11/26 20:18
- YouTube 最近スマホでYouTubeやツイッチで動画を見ていると急に一時停止することがあります。画面を触ってい 5 2023/07/09 18:23
- ブルーレイ・プレーヤー・レコーダー DVDplayerについて 2 2022/12/13 06:38
- ブルーレイ・プレーヤー・レコーダー DVDが再生されません。 7 2022/05/28 05:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
処理内容がほぼ同じメソッドの...
-
VBPをダブルクリックするとたま...
-
【sendkeysメソッドが動かずに...
-
Labelコントロールに数字を代入...
-
CALLされていないメソッドを見...
-
javascriptからjavaを呼び出したい
-
final修飾子を使っているのに、...
-
配列のメソッド
-
mainメソッドのthrows節で設定...
-
VBA コピーが出来ません…!
-
VB.netで、シリアル通信のタイ...
-
エクセルVBAにおけるON TIMEメ...
-
0歳児の指しゃぶりに関して
-
VBAでSaveAs使用し、指定してい...
-
JAVA言語,JSPによるクイズシス...
-
DataGridViewでセルクリックイ...
-
Excel VBA でExcelを終了したい...
-
C#.net Define文
-
コマンドプロンプト実行後に画...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
DataGridViewでセルクリックイ...
-
【sendkeysメソッドが動かずに...
-
コマンドプロンプト実行後に画...
-
VBA コピーが出来ません…!
-
ウィンドウを最前面にできません
-
JSPで<SELECT>の中にDBから持っ...
-
javascriptからjavaを呼び出したい
-
VBPをダブルクリックするとたま...
-
eclipse-Tomcatでのデバッグに...
-
Application.Wait の参照設定
-
エクセルVBAにおけるON TIMEメ...
-
配列のメソッド
-
エクセルのマクロでプリンタを...
-
final修飾子を使っているのに、...
-
drawStringで文字間隔の調整
-
Excel VBA でExcelを終了したい...
-
worksheets & rows メソッドは...
-
CALLされていないメソッドを見...
-
vbaエクセルマクロ RemoveDupli...
おすすめ情報