存储音频路径并在网页上播放

时间:2015-06-29 09:00:55

标签: php mysql html5 audio

我正在做的工作涉及在网页上播放的许多短音频片段。 我知道播放音频文件的最佳方法是使用音频标签,并将音频文件存储在本地存储中并调用数据库中的路径。

我的主要问题是如何将音频文件路径存储在数据库列中,以及如何才能播放该文件?

另外,我不确定该文件路径与数据库的交互是如何工作的,任何人都可以启发我吗?

这也是因为我正在做类似于拼字比赛的东西,其中会有一个播放按钮或用户可以点击的文字,并且会听到问题旁边的声音,然后他们将不得不输入他们的答案。

现在对我来说最重要的是使音频功能正常工作。

任何输入都将非常感激。

1 个答案:

答案 0 :(得分:0)

我将发布一个简单的示例,然后您可以将其扩展到您需要的任何内容。 首先,您需要将音频文件复制到公共html目录中的文件夹,让我们说音频。 之后,您需要创建一个数据库并打开它的连接。 您可以在PHP Documentation中了解相关信息。 这是一个php文件的例子,它连接到数据库存储文件名,然后获取它。 数据库结构示例:

id | audio_name 1 audio1.mp3

<?php
$con = new mysqli("localhost", "user", "password", "database");
if ($con->connect_errno) {
    echo "Failed to connect to MySQL: (" . $con->connect_errno . ") " . $con->connect_error;
}

//We define a constant with the path to audio 
define('PATH','audio/');

//We store the audio file name in database
$result = $con->query("INSERT INTO table(audio_name) VALUES('audio1.mp3')");

//To get values from database you can do this
$audiomp3 = $con->query("SELECT audio_name FROM table WHERE audio_name = 'audio1.mp3'")->fetch_object()->audio_name;

//Full path to audio file
$audiomp3 = PATH . $audiomp3;

//And we create a audio element
$element = "";
$element .= "<audio controls>";
$element .= "<source src='$audiomp3' type='audio/ogg'>";
$element .= "Your browser does not support the audio element.";
$element .= "</audio>";

//Displaying audio element
echo $element;
  

记住这是一个基本的例子!