PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

ogg:// ラッパーの使用例 | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

ogg:// ラッパーの使用例

例1 OGG/Vorbis ファイルを読み込む

<?php
dl
("oggvorbis.so");

/* デフォルトでは、ogg:// は符号付き 16 ビット リトルエンディアンにデコードします。*/
$fp fopen('ogg://myaudio.ogg''r');

/* ファイルの情報を取得します。*/
$metadata stream_get_meta_data($fp);

/* 最初の曲を調べます(たいていは 1 曲だけですが、
   OGG/Vorbis ファイルは連結が可能です)。*/
$songdata $metadata['wrapper_data'][0];

echo 
"OGG/Vorbis file encoded by: {$songdata['vendor']}\n.";
echo 
"  {$songdata['channels']} channels of {$songdata['rate']}Hz sampling encoded at {$songdata['bitrate_nominal']}bps.\n";
foreach(
$songdata['comments'] as $comment) {
    echo 
"  $comment\n";
}

while (
$audio_data fread($fp8192)) {
  
/* OGG から展開した PCM オーディオについて、なんらかの処理を行います。
     linux システムなら、たとえば /dev/dsp にコピーするなどがよい例でしょう。
     まず最初にデバイスの設定をすることを忘れないようにしましょう。*/
}

fclose($fp);

?>

例2 オーディオファイルを OGG/Vorbis にエンコードする

<?php
dl
('oggvorbis.so');

$context stream_context_create(array('ogg'=>array(
             
'pcm_mode' => OGGVORBIS_PCM_S8,  /* 符号付き 8 ビットオーディオ */
             
'rate' => 44100,                 /* 44kHz CD クオリティ */
             
'bitrate' => 0.5,                /* 中品質の VBR(可変ビットレート) */
             
'channels' => 1,                 /* モノラル */
             
'serialno' => 12345)));          /* ストリーム内で一意の番号 */

/* ファイルを追記モードでオープンします。これは、
2 番目の OGG ストリームを最初のストリームの後に連結します。*/
$ogg fopen('ogg://mysong.ogg''a'false$context);

$pcm fopen('mysample.pcm''r');

/* PCM オーディオデータ mysample.pcm を mysong.ogg に圧縮します。*/
stream_copy_to_stream($pcm$ogg);

fclose($pcm);
fclose($ogg);
?>


忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「ogg:// ラッパーの使用例」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | ogg:// ラッパーの使用例」をGoogle検索
copyright © 1997-2022 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: