テクノロジー

img_technologyTop01

製品をもっと詳しく知りたい方へ
技術研究所

音や画像のファイルを扱うプログラム

EV3のC言語プログラム(Toppers)で、音や画像のファイルを扱う方法を紹介します。
※ここで紹介する内容は、EV3RTパッケージ β7環境にて動作を確認したものです。
※サンプルプログラムの中で使用するファイルは、ダウンロードしたEV3RTパッケージを解凍した中にある「/sdcard/ev3rt/res」内の「test.bmp」と「test.wav」です。

以下は、左側が画像ファイルをLCDに表示するプログラム、右側が音のファイルを再生するプログラムです。(各ファイルはSDカード直下に保存してあることとします。)

test.bmpをLCDに表示する test.wavを再生する
…(省略)…

memfile_t memfile;
ev3_memfile_load(“/test.bmp”, &memfile);
  ……①

image_t image;
ev3_image_load(&memfile, &image);
ev3_lcd_draw_image(&image, 0, 0);
  ……②

…(省略)…

…(省略)…

memfile_t memfile;
ev3_memfile_load(“/sound.wav”, &memfile);
  ……①

ev3_speaker_set_volume(10);
ev3_speaker_play_file(&memfile, SOUND_MANUAL_STOP);
  ……③

…(省略)…

画像ファイルを表示する場合も音のファイルを再生する場合も、まずはそのファイルを以下のようにしてロードします。(上図①/画像・音共通)
  memfile_t memfile;
  ev3_memfile_load(ファイル名, &memfile);
※ファイル名は絶対パスで指定します。(「/」はSDカード直下を示します。)
※ev3_memfile_loadやmemfile_t構造体について、詳しくはリファレンスをご覧ください。

画像ファイルを表示する場合は、ロードしたファイルを以下のようにして画面に表示します。(上図②)
  image_t image;
  ev3_image_load(&memfile, &image);
  ev3_lcd_draw_image(&image, x, y);
※ev3_image_loadは、①でロードしたメモリファイルから画像をロードし、画像のオブジェクトを生成します。
※画像ファイルはBMP形式のモノクロ画像をサポートしています。
※ev3_lcd_draw_imageは、x・yで指定した座標に画像を表示します。
※詳しくはリファレンスをご覧ください。

音のファイルを再生する場合は、ロードしたファイルを以下のようにして再生します。(上図③)
  ev3_speaker_set_volume(10);
  ev3_speaker_play_file(&memfile, duration);
※ev3_speaker_play_fileは、①でロードしたWAVファイルを再生します。
※引数「duration」は再生時間をミリ秒単位で指定します。「SOUND_MANUAL_STOP」を指定した場合は、手動で停止しない限り最後まで再生します。
※音のファイルは、WAVファイル(8-bit 8kHz mono)をサポートしています。
※詳しくはリファレンスをご覧ください。

このように、画像や音のファイルをSDカードに用意し、それをロードすることで、プログラムの中で扱うことができます。

※音や画像のファイルを扱うプログラムの一例として紹介しています。
※プログラムは動作確認済みですが、誤り等が含まれていた場合はご了承ください。

(2017/06/23現在)

お問い合わせ

CONTACT

株式会社アフレル

本社/カスタマーセンター

〒918-8231 福井市問屋町3-111
TEL.0776-25-0303 FAX.0776-25-0309 info@afrel.co.jp
カスタマーセンター電話受付  9:30-17:30 (土日・祝日・年末年始を除く) MAP

東京支社

〒103-0001
東京都中央区日本橋小伝馬町2-8 新小伝馬町ビル5F
TEL.03-6661-9251 FAX.03-3249-3741 MAP

大阪事業所

〒532-0011
大阪府大阪市淀川区西中島3-7-8 NLC新大阪17号館302
TEL.06-4805-8788 FAX.06-4805-8789 MAP
  • 正規代理店

    LEGO education logo

  • PITSCO logo

  • NI logo

  • virtual robotics toolkit logo

資料内容の無断転載、複製を禁じます。
製作・著作 株式会社アフレル

Copyright 2017 Afrel Co.,Ltd. All Rights Reserved.

© LEGO, the LEGO logo, MINDSTORMS and the MINDSTROMS logo are trademarks of the LEGO Group.
© 2017 The LEGO Group.
レゴ、レゴのロゴマーク、レゴ マインドストームは、 レゴグループの登録商標です。