|
Perl Tips: mp3再生
2024/02/23 |
|
Perl Tips
[Prev]
|
効果音としてmp3ファイルを再生したい
素直にSendStringを使う
#!perl -w
use Win32::MultiMedia::Mci (SendString);
use IO::Handle;
use strict;
# ==============================================================================
# メインclosure
# ==============================================================================
{
STDOUT->IO::Handle::autoflush(1); # 画面表示都合によるSTDOUT出力バッファ無効化
# $m_op->{exec}オープン→再生
SendString('open "sound files\01 実行.mp3" alias exec'); # exec オープン
SendString('open "sound files\02 パス.mp3" alias pass'); # pass オープン
SendString('open "sound files\03 フェイル.mp3" alias fail'); # fail オープン
SendString('play exec from 0 repeat'); # exec 非同期再生スタート
# 10秒間再生維持
print "INF: async playing exec for 10[sec]: ";
for (my $i=0; $i<10; $i++) {
print $i; sleep(1); # 1秒wait
}
print "\n";
SendString('stop exec'); # exec 非同期再生ストップ
# 0〜10範囲の乱数の値を見て、5より大きければpassとする
if (rand(10) > 5) {
print "INF: random result: pass\n";
SendString('play pass wait'); # pass同期再生
} else {
print "INF: random result: fail\n";
SendString('play fail wait'); # fail同期再生
}
}
>mp3_playback_test_b.pl INF: async playing exec for 10[sec]: 0123456789 INF: random result: fail >mp3_playback_test_b.pl INF: async playing exec for 10[sec]: 0123456789 INF: random result: pass SendStringの使い方
|
|
2024-02-27: aliasによる不明動作回避を追記に伴いサンプルコードも変更 2024-02-23: 初版 Copyright(C) 2024 Altmo
本HPについて |
|
Perl Tips
[Prev]
|