リビジョン | 41bca6cb44f9d2bab74d2b19c2cc12e3558a2c1c (tree) |
---|---|
日時 | 2017-06-14 00:59:20 |
作者 | yyagi <yyagi.dtxmania@gmai...> |
コミッター | yyagi |
@@ -29,7 +29,9 @@ | ||
29 | 29 | <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> |
30 | 30 | <application> |
31 | 31 | <!-- Windows 10 --> |
32 | - <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> | |
32 | +<!-- | |
33 | +<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> | |
34 | +--> | |
33 | 35 | <!-- Windows 8.1 --> |
34 | 36 | <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> |
35 | 37 | <!-- Windows 8 --> |
@@ -227,13 +227,15 @@ namespace FDK | ||
227 | 227 | |
228 | 228 | // Trace.TraceInformation( "Selected Default WASAPI Device: {0}", deviceInfo.name ); |
229 | 229 | // Trace.TraceInformation( "MinPeriod={0}, DefaultPeriod={1}", deviceInfo.minperiod, deviceInfo.defperiod ); |
230 | - n更新間隔ms = (long) ( deviceInfo.minperiod * 1000 ); | |
230 | + //n更新間隔ms = (long) ( deviceInfo.minperiod * 1000 ); | |
231 | + | |
232 | + n更新間隔ms = Convert.ToInt64(Math.Ceiling(deviceInfo.minperiod * 1000.0f)); | |
233 | + | |
234 | + //n更新間隔ms = Convert.ToInt64((deviceInfo.minperiod + 0.0005) * 1000.0f); // Win10では、更新間隔がminperiod以下だと、確実にBASS_ERROR_UNKNOWN | |
235 | + //n更新間隔ms = Convert.ToInt64((deviceInfo.defperiod + 0.0005) * 1000.0f); // Win10では、更新間隔がminperiod以下だと、確実にBASS_ERROR_UNKNOWN | |
236 | + | |
231 | 237 | if ( n希望バッファサイズms <= 0 || n希望バッファサイズms < n更新間隔ms + 1 ) |
232 | 238 | { |
233 | - if (FDK.COS.bIsWin10OrLater && n更新間隔ms < deviceInfo.minperiod * 1000) | |
234 | - { | |
235 | - n更新間隔ms = Convert.ToInt64((deviceInfo.minperiod + 0.0005) * 1000.0f); // Win10では、更新間隔がminperiod以下だと、確実にBASS_ERROR_UNKNOWN | |
236 | - } | |
237 | 239 | n希望バッファサイズms = n更新間隔ms + 1; // 2013.4.25 #31237 yyagi; バッファサイズ設定の完全自動化。更新間隔=バッファサイズにするとBASS_ERROR_UNKNOWNになるので+1する。 |
238 | 240 | } |
239 | 241 | } |
@@ -271,13 +273,10 @@ namespace FDK | ||
271 | 273 | } |
272 | 274 | n周波数 = deviceInfo.mixfreq; |
273 | 275 | nチャンネル数 = deviceInfo.mixchans; |
274 | - //n希望バッファサイズms = n更新間隔ms = 0; | |
275 | 276 | Trace.TraceInformation("n希望バッファサイズms=" + n希望バッファサイズms); |
276 | 277 | Trace.TraceInformation("n更新間隔ms=" + n更新間隔ms); |
277 | 278 | float f希望バッファサイズsec = (n希望バッファサイズms > 0) ? (n希望バッファサイズms / 1000.0f) : deviceInfo.minperiod * 4; |
278 | 279 | float f更新間隔sec = (n更新間隔ms > 0)? (n更新間隔ms / 1000.0f) : deviceInfo.minperiod; |
279 | - //f希望バッファサイズsec = 0.01f; | |
280 | - //f更新間隔sec = 0.003f; | |
281 | 280 | Trace.TraceInformation("Start Bass_Wasapi_Init(device=" + nDevNo + ", freq=" + n周波数 + ", nchans=" + nチャンネル数 + ", flags=" + flags + "," + |
282 | 281 | " buffer=" + f希望バッファサイズsec + ", period=" + f更新間隔sec); |
283 | 282 | if (BassWasapi.BASS_WASAPI_Init(nDevNo, n周波数, nチャンネル数, flags, f希望バッファサイズsec, f更新間隔sec, this.tWasapiProc, IntPtr.Zero)) |