私は、MP3メタデータからデータを読み込んで自動的に読み込むlib_getid3プロジェクトのスクリプトを使用して入力したMP3メタデータ(実際のMP3ファイルではない)それをSQLデータベースにインポートするので、 "title"、 "author"、 "fileformat"、およびannoyingly "playtime_seconds"を含む列があります。 PHPを使用してポッドキャスト用のSQL互換性のある時刻形式に秒単位で変換する
Iを出力することができ、それが原因で、「長さ」と「継続」タグのiTunesの互換性はありませんが、次のコードを使用して読めるポッドキャストなどのデータ:<item>
<title><?=($test); ?></title>
<link>http://website/<?=basename(rtrim($row['filename'], '/')); ?></link>
<itunes:author><?=$row['artist']; ?></itunes:author><enclosure url="http://website/<?=basename(rtrim($row['filename'], '/')); ?>" length="<?=$row['playtime_seconds']?>" type="audio/mpeg" />
<itunes:category>podcast</itunes:category>
<pubDate><?=date('D, j M Y H:i:s O',$row{'LastModified'}) ?></pubDate>
<itunes:keywords>Podcast</itunes:keywords>
<itunes:duration><?=$row['playtime_seconds']; ?></itunes:duration>
<guid isPermaLink="false"><?= substr($test, 0, strrpos($test, '.')); ?><?=$row['filesize'];?></guid>
</item>
しかし、時間は、秒単位であること検証されると無効な応答が返されます。分単位で、正の整数でなければなりません。 私は、たとえば、すでにここに提案のカップルを試してみた:
$seconds = $row['playtime_seconds'] % 60;
$time = ($row['playtime_seconds'] - $seconds)/60;
$minutes = $row['playtime_seconds'] % 60;
$hours = ($row['playtime_seconds'] - $minutes)/60;
しかし、出力がiTunesに応じて、まだ有効ではありません。 インポートテーブルが読み込まれるたびに削除されるので、SQLテーブル自体に追加の行を追加することはできません。 PHPでそれを行うことは素晴らしいでしょう。
を表示:分:秒のためにマット? – safarov
私はそれが正しいフォーマットだと思っています。私がこれまでにiTunesを好きになっていない理由はわかりません。 – Phil