簡體   English   中英

讀取RAW音頻文件

[英]Reading RAW audio file

我是C ++的初學者,我有一個學校項目暗示要分析音頻文件,但無法讀取該文件,在該示例中,程序始終從文件中讀取第一個值

#include <iostream>
#include<fstream>
using namespace std;

int main()
{
    ifstream c;
    c.open("cv.RAW");
    int b;
    while(1)
        {
            c>>b;
            cout<<b<<" ";
        }
    return 0;
}

你需要

  1. 以二進制模式打開文件ifstream c("cv.RAW", std::ios_base::binary) ,如果您讀取沒有此標志的二進制文件,它將被視為文本文件,並為您提供不正確的值。
  2. 通過在讀取任何值之前檢查if (c.good())還是if (c)來檢查文件是否打開
  3. 通過讀取每個字節后再次檢查if (c.good())還是if (c)檢查讀取是否成功
  4. 如果您想一次讀取一個整數,請使用c.read((char*)&b, sizeof(b))進行讀取,對於單個字節,請使用char ch; c.read(&ch, sizeof(ch)) char ch; c.read(&ch, sizeof(ch))

iostream默認情況下不會拋出異常,因此每次使用它們時,您始終需要檢查它們的狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM