使用waveinopen系列函式,做聲卡采集,16k,一個采樣點2個位元組,發現在筆記本上采樣點是小端,在臺式機上是大端,同樣的代碼,都是win10系統,x86平臺,唯一不一樣的是聲卡不一樣,一個是Realtek High Definition Audio",一個是Realtek(R) audio。然后我用開源庫portaudio做采集,結果也是一樣,大小端反著的。所以是聲卡驅動的問題?有什么辦法區分大小端嗎?
uj5u.com熱心網友回復:
標準的PCM就是小端模式, 需要留意的是, 如果是兩通道的 資料是左右左右交叉放置的uj5u.com熱心網友回復:
忘了說了,是單通道的,正常都是小端的,不知道為什么運行在臺式機上就是大端的,也沒有引數可以設定大小端uj5u.com熱心網友回復:
/*
Function check_for_endianness() returns 1, if architecture
is little endian, 0 in case of big endian.
*/
int check_for_endianness()
{
unsigned int x = 1;
char *c = (char*) &x;
return (int)*c;
}
uj5u.com熱心網友回復:
這個是判斷cpu架構師大端還是小端,我確信我測驗的筆記本和臺式機都是小端,但是采集的16bit采樣點卻是一個大端一個小端轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/35211.html
標籤:硬件/系統
上一篇:0xC0000005:讀取位置0xFFFFFFFFFFFFFFFF時發生訪問沖突。
下一篇:如何求相交直線的坐標
