teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

7

追記

2021/06/16 02:26

投稿

Dxcaster
Dxcaster

スコア3

title CHANGED
File without changes
body CHANGED
@@ -14,7 +14,21 @@
14
14
  1回目のループは上手く行きますが、2回目以降でループする際に無音が入ります。
15
15
  この無音を無くすにはどうすればいいでしょうか?
16
16
 
17
+ 【追記】
18
+ ```c
19
+ DWORD Status;
20
+ lpSec->GetStatus(&Status);
21
+ if((Status & DSBSTATUS_PLAYING) == 0){
22
+ lpSec->SetCurrentPosition(WavSize / 10 * 5);
23
+ }
24
+ //もし再生が終了したら0.5秒からループ開始
25
+ lpSec->Play(0,0,0);
26
+ ```
27
+ のように書き換えたら正常に動作しましたが、60FPSにフレームレートを設定すると、
28
+ 無音が入ってしまいました。
29
+ ちなみに60FPSに設定する前は4000FPSほどで動作していました。
30
+
17
- 環境
31
+ 環境
18
32
  VisualStudio2012
19
33
  DirectXSDK June 2010
20
34
  Windows7 32bit

6

環境を追記

2021/06/16 02:26

投稿

Dxcaster
Dxcaster

スコア3

title CHANGED
File without changes
body CHANGED
@@ -14,5 +14,7 @@
14
14
  1回目のループは上手く行きますが、2回目以降でループする際に無音が入ります。
15
15
  この無音を無くすにはどうすればいいでしょうか?
16
16
 
17
+ 環境
17
- 調べてみてとてもよい例を見つけました。
18
+ VisualStudio2012
18
- DXライブラリのSetLoopPosSoundMemです。
19
+ DirectXSDK June 2010
20
+ Windows7 32bit

5

誤記を修正

2021/06/13 09:49

投稿

Dxcaster
Dxcaster

スコア3

title CHANGED
File without changes
body CHANGED
@@ -7,6 +7,7 @@
7
7
  lpSec->GetStatus(&Status);
8
8
  if((Status & DSBSTATUS_PLAYING) == 0){
9
9
  lpSec->SetCurrentPosition(WavSize / 10 * 5);
10
+ lpSec->Play(0,0,0);
10
11
  }
11
12
  //もし再生が終了したら0.5秒からループ開始
12
13
  ```

4

例を追加

2021/06/13 06:41

投稿

Dxcaster
Dxcaster

スコア3

title CHANGED
File without changes
body CHANGED
@@ -11,4 +11,7 @@
11
11
  //もし再生が終了したら0.5秒からループ開始
12
12
  ```
13
13
  1回目のループは上手く行きますが、2回目以降でループする際に無音が入ります。
14
- この無音を無くすにはどうすればいいでしょうか?
14
+ この無音を無くすにはどうすればいいでしょうか?
15
+
16
+ 調べてみてとてもよい例を見つけました。
17
+ DXライブラリのSetLoopPosSoundMemです。

3

文字化けの訂正

2021/06/12 15:28

投稿

Dxcaster
Dxcaster

スコア3

title CHANGED
File without changes
body CHANGED
@@ -4,9 +4,9 @@
4
4
  そこで作ったコードが以下のコードです。
5
5
  ```c
6
6
  DWORD Status;
7
- lpSec-GetStatus(&Status);
7
+ lpSec->GetStatus(&Status);
8
8
  if((Status & DSBSTATUS_PLAYING) == 0){
9
- lpSec-SetCurrentPosition(WavSize / 10 * 5);
9
+ lpSec->SetCurrentPosition(WavSize / 10 * 5);
10
10
  }
11
11
  //もし再生が終了したら0.5秒からループ開始
12
12
  ```

2

2021/06/12 13:12

投稿

Dxcaster
Dxcaster

スコア3

title CHANGED
File without changes
body CHANGED
@@ -5,7 +5,10 @@
5
5
  ```c
6
6
  DWORD Status;
7
7
  lpSec-›GetStatus(&Status);
8
- if((Status & ))
8
+ if((Status & DSBSTATUS_PLAYING) == 0){
9
+ lpSec-›SetCurrentPosition(WavSize / 10 * 5);
10
+ }
11
+ //もし再生が終了したら0.5秒からループ開始
9
12
  ```
10
13
  1回目のループは上手く行きますが、2回目以降でループする際に無音が入ります。
11
14
  この無音を無くすにはどうすればいいでしょうか?

1

2021/06/12 12:19

投稿

Dxcaster
Dxcaster

スコア3

title CHANGED
File without changes
body CHANGED
@@ -6,4 +6,6 @@
6
6
  DWORD Status;
7
7
  lpSec-›GetStatus(&Status);
8
8
  if((Status & ))
9
- ```
9
+ ```
10
+ 1回目のループは上手く行きますが、2回目以降でループする際に無音が入ります。
11
+ この無音を無くすにはどうすればいいでしょうか?