Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: SDFileSystem_Warning_Fixed
Diff: SD_PlayerSkeleton.cpp
- 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;