nguyen nam / SD_PlayerSkeleton

Dependencies:   SDFileSystem_Warning_Fixed

Revision:
18:6631cd0fbbcd
Parent:
17:abfd6af9a236
diff -r abfd6af9a236 -r 6631cd0fbbcd SD_PlayerSkeleton.cpp
--- a/SD_PlayerSkeleton.cpp	Thu Mar 23 02:58:48 2017 +0000
+++ b/SD_PlayerSkeleton.cpp	Tue Jun 04 21:35:59 2019 +0000
@@ -1,7 +1,4 @@
-//--------------------------------------------------------------
-//  SD プレーヤー用抽象基底クラス
-//
-//  2017/03/22, Copyright (c) 2017 MIKAMI, Naoki
+
 //--------------------------------------------------------------
 
 #include "SD_PlayerSkeleton.hpp"
@@ -29,7 +26,7 @@
         else             reset_ = NULL;
     }
 
-    // SD プレーヤーの処理の実行
+   // thực thi xử lý trình phát SD
     void SD_PlayerSkeleton::Execute()
     {
         bool playOk = false;
@@ -37,47 +34,47 @@
 
         while (true)
         {
-            if (playOk)             // PAUSE 後の PLAY の場合
+            if (playOk)             // Trong trường hợp PLAY sau PAUSE
                 loopCount = SD_Open();
-            else                    // PAUSE 後の PLAY ではない場合
+            else                    // Nếu không PLAY sau PAUSE
             {
                 if (0 == WaitTouched()) SelectFile();
                 loopCount = SD_Open();
-                while (1 != WaitTouched()) {}   // PLAY がタッチされるまで待つ
+                while (1 != WaitTouched()) {}   // Đợi cho đến khi PLAY được chạm
             }
 
-            Display();  // アプリ固有の表示処理(仮想関数)
+            Display();  // Xử lý hiển thị dành riêng cho ứng dụng (chức năng ảo)
             if (reset_ != NULL) reset_->Draw();
 
-            menu_.Inactivate(0);    // SELECT ボタン無効
-            menu_.Activate(2);      // PAUSE ボタン有効
-            menu_.Activate(4);      // STOP ボタン有効
+            menu_.Inactivate(0);    // SELECT bị vô hiệu hóa
+            menu_.Activate(2);      // PAUSE bị vô hiệu hóa
+            menu_.Activate(4);      // STOP bị vô hiệu hóa
 
             playOk = false;
             bool stopOk = false;
 
-            Clear();    // アプリ固有のクリア処理(仮想関数)
+            Clear();   // Quá trình xóa ứng dụng cụ thể (chức năng ảo)
 
-            mySai_.PlayOut();       // Play 開始
+            mySai_.PlayOut();       // Play
 
-            // ファイルのデータがなくなるまで繰り返す
+            // Lặp lại cho đến khi hết dữ liệu tệp
             for (int k=0; k<loopCount; k++)
             {
                 int touch42 = -1;
                 menu_.GetTouchedNumber(touch42);
                 if (touch42 == 4) break;    // STOP
-                if (touch42 == 2)           // PAUSE ボタンがタッチされた場合の処理
+                if (touch42 == 2)           // PAUSE Xử lý khi chạm vào nút
                 {
-                    menu_.Inactivate(2);    // PAUSE ボタン無効
-                    menu_.Activate(3);      // RESUME ボタン有効
+                    menu_.Inactivate(2);    // PAUSE Nút không hợp lệ
+                    menu_.Activate(3);      // RESUME Đã bật nút
                     mySai_.PauseOut();
 
-                    // PLAY か RESUME か STOP がタッチされるまで待つ
+                    // PLAY Đợi cho đến khi 'RESUME' hoặc 'STOP' được chạm vào
                     switch (WaitTouched())
                     {
-                        case 1: playOk = true;      // 最初から PLAY
+                        case 1: playOk = true;      // PLAY từ đầu
                                 break;
-                        case 3: mySai_.ResumeOut(); // PAUSE 箇所から PLAY 再開
+                        case 3: mySai_.ResumeOut(); // Tiếp tục PLAY từ điểm PAUSE
                                 menu_.Activate(2);
                                 menu_.Inactivate(3);
                                 menu_.TouchedColor(1);
@@ -89,20 +86,20 @@
                 if (playOk || stopOk) break;
 
                 DoIfHandled();
-                // アプリ固有の1ブロック分に対する信号処理(純粋仮想関数)
+               // Xử lý tín hiệu cho một khối dành riêng cho ứng dụng (hàm ảo thuần túy)
                 SignalProcessing();
             }
             mySai_.StopOut();
-            if (!playOk) menu_.Activate(0); // SELECT ボタン有効
-            menu_.Draw(1);                  // PLAY ボタンの色を初期状態にする
-            for (int n=2; n<5; n++)         // その他のボタンは無効
+            if (!playOk) menu_.Activate(0); // SELECT hợp lệ
+            menu_.Draw(1);                  // Khởi tạo màu của nút PLAY
+            for (int n=2; n<5; n++)         // Các nút khác bị vô hiệu hóa
                 menu_.Inactivate(n);
 
-            sdReader_.Close();   // SD のファイルのクローズ
+            sdReader_.Close();   // Đóng tệp SD
         }
     }
 
-    // 選択されたファイル名から拡張子を除いたものを取得
+    // Lấy tên tệp đã chọn mà không cần phần mở rộng
     string SD_PlayerSkeleton::GetFileNameNoExt()
     {
         string fName = fileName_;
@@ -113,7 +110,7 @@
             return fName;
     }
 
-    // SD カードのファイルのオープン
+    // Mở tệp thẻ SD
     int32_t SD_PlayerSkeleton::SD_Open()
     {
         if (fileName_.empty()) SelectFile();
@@ -122,30 +119,30 @@
         return sdReader_.GetSize()/BUFF_SIZE_;
     }
 
-    // ファイルの選択
+    // Lựa chọn tập tin
     void SD_PlayerSkeleton::SelectFile()
     {
         selector_.DisplayFileList();
         title_.Draw("Select file");
-        menu_.Inactivate(0);        // SELECT ボタン無効
-        menu_.Inactivate(1);        // PLAY ボタン無効
+        menu_.Inactivate(0);        // SELECT vô hiệu hóa
+        menu_.Inactivate(1);        // PLAY vô hiệu hóa
         do
             if (selector_.Select(fileName_))
-                menu_.Activate(1);  // PLAY ボタン有効
-        while (!menu_.Touched(1));  // PLAY ボタンがタッチされるまで繰り返す
+                menu_.Activate(1);  // PLAY đã bật
+        while (!menu_.Touched(1));  // PLAY Lặp lại cho đến khi nút được chạm
 
         selector_.Erase(0, 0, BG_LEFT_-4, 272);
         title_.Draw();
     }
 
-    // パネルが操作された場合の処理
+    // Xử lý khi bảng điều khiển được vận hành
     void SD_PlayerSkeleton::DoIfHandled()
     {
         if (reset_ != NULL) reset_->DoIfTouched();
-        Modefy();   // アプリ固有のパラメータ変更(仮想関数)
+        Modefy();   // Ứng dụng thay đổi tham số cụ thể (chức năng ảo)
     }
 
-    // メニューのいずれかのボタンがタッチされるまで DoIfHandled() を実行しながら待つ
+    //Đợi trong khi thực hiện Do IfHandled () cho đến khi bất kỳ nút nào trên menu được chạm vào
     int SD_PlayerSkeleton::WaitTouched()
     {
         int touchNum;