SPKT

Dependencies:   SDFileSystem_Warning_Fixed

Dependents:   DISCO-F746_WAV_PLAYER WAV

Revision:
18:6631cd0fbbcd
Parent:
16:299cc1052baa
--- a/SD_WavReader.cpp	Thu Mar 23 02:58:48 2017 +0000
+++ b/SD_WavReader.cpp	Tue Jun 04 21:35:59 2019 +0000
@@ -1,11 +1,3 @@
-//--------------------------------------------------------------
-//  SD_WavReader class
-//      SD カードの *.wav ファイルの内容を読み出す
-//      以下の型式のファイルのみ扱う
-//          PCM,16 ビットステレオ,標本化周波数 44.1 kHz
-//
-//  2017/03/22, Copyright (c) 2017 MIKAMI, Naoki
-//--------------------------------------------------------------
 
 #include "SD_WavReader.hpp"
 
@@ -29,29 +21,29 @@
     {
         string name = (string)"/" + STR_ + "/" + fileName;
         fp_ = fopen(name.c_str(), "rb");
-        if (fp_ == NULL) ErrorMsg("open error!!");
+        if (fp_ == NULL) ErrorMsg("Loi The SD!!!");
     }
     
     
-    // ファイルのヘッダ "RIFFxxxxWAVEfmt " の部分の読み込み
-    //      戻り値:16 ビットステレオ,標本化周波数が 44.1 kHz の場合 true
+    // Đọc một phần của tiêu đề tệp "RIFFxxxxWAVEfmt"
+    // Giá trị trả về: true nếu âm thanh nổi 16 bit, tần số lấy mẫu là 44,1 kHz
     bool SD_WavReader::IsWavFile()
     {
         char data[17];
-        fread(data, 1, 16, fp_);    // 16 バイト分を読み込む
+        fread(data, 1, 16, fp_);    // Đọc 16 byte
         string strRead = "";
         for (int n=0; n<4; n++) strRead += data[n];
-        // 間の 4 文字はチェックしない
+        // Không kiểm tra 4 ký tự giữa 
         for (int n=8; n<16; n++) strRead += data[n];
 
-        // "RIFF", "WAVE", "fmt " が存在することを確認
+        // Kiểm tra xem "RIFF", "WAVE", "fmt" có tồn tại không
         if (strRead != "RIFFWAVEfmt ") return false;
 
-        // fmt chunck のサイズを取得
+        // có được kích thước của fmt chunck
         uint32_t fmtChunkSize;
         fread(&fmtChunkSize, sizeof(uint32_t), 1, fp_);
 
-        // PCM, Stereo, 44.1 kHz, 16 bit であることを確認
+        // Xác nhận rằng đó là PCM, Stereo, 44.1 kHz, 16 bit
         WaveFormatEx fmtData;
         fread(&fmtData, fmtChunkSize, 1, fp_);
         if ((fmtData.wFormatTag     != 1)   ||
@@ -60,7 +52,7 @@
             (fmtData.wBitsPerSample != 16)
            ) return false;
 
-        // data chunk を探す
+        // Tìm dữ liệu
         char dataId[5];
         dataId[4] = 0;
         fread(dataId, 1, 4, fp_);
@@ -77,7 +69,7 @@
                 if (n == 99) return false;
             }
 
-        // データサイズ (byte) を取得
+        // Nhận kích thước dữ liệu (byte)
         int32_t sizeByte;
         fread(&sizeByte, sizeof(int32_t), 1, fp_);
         size_ = sizeByte/4;
@@ -86,7 +78,7 @@
         return true;
     }
 
-    // ファイルからステレオデータの取得
+    // Nhận dữ liệu âm thanh nổi từ tập tin
     void SD_WavReader::ReadStereo(Array<int16_t>& dataL,
                                   Array<int16_t>& dataR)
     {
@@ -100,7 +92,7 @@
         }
     }
 
-    // ファイルからデータをモノラルに変換しての取得
+    // Chuyển đổi dữ liệu từ tập tin sang đơn âm
     void SD_WavReader::ReadAndToMono(Array<int16_t>& data)
     {
         if (!ok_) ErrorMsg("Get data FAILED");
@@ -110,7 +102,7 @@
             data[n] = (buffer[2*n] + buffer[2*n+1])/2;
     }        
     
-    // データサイズ(標本化点の数)の取得
+    // Thu thập kích thước dữ liệu (số điểm lấy mẫu)
     int32_t SD_WavReader::GetSize()
     {
         if (!ok_) ErrorMsg("Get data size FAILED");