存储音频路径并在网页上播放
Posted
技术标签:
【中文标题】存储音频路径并在网页上播放【英文标题】:Storing audio paths and playing it on web page 【发布时间】:2015-06-29 09:00:55 【问题描述】:我正在处理的内容涉及要在网页上播放的许多短音频片段。 我知道播放音频文件的最佳方式是使用音频标签,并将音频文件存储在本地存储中并调用数据库中的路径。
我的主要问题是如何将音频文件路径存储在数据库列中,我必须做什么才能播放文件?
另外,我不确定该文件路径与数据库的交互是如何工作的,谁能启发我?
这也是因为我正在做一些类似拼写蜜蜂的事情,其中会有一个播放按钮或用户可以单击的文本,并且会听到问题旁边的声音,然后他们必须输入他们的回答。
现在对我来说重要的是让音频功能正常工作。
我们将不胜感激任何输入。
【问题讨论】:
您可以创建 2 个表。一种带有设置,存储音频文件文件夹的路径,另一种带有音频文件的名称。当您在 php 文件中进行查询时,您将连接音频文件名的路径并将它们放在音频标签中。您应该自己尝试并在遇到困难的地方发布代码。 嘿,在你开始工作之前,请记住NEVER NEVER NEVER store paths into DB, just store file names in DB
,因为每当你将项目移动到任何其他位置/服务器时,你都会遇到很多问题
@Allkin 对不起,我是初学者,刚刚开始,您可以帮助提供一些我可以使用的代码吗?非常感谢。
【参考方案1】:
我将发布一个简单的示例,然后您可以将其扩展到您需要的任何内容。 首先,您需要将音频文件复制到公共 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;
记住这是一个基本示例!
【讨论】:
以上是关于存储音频路径并在网页上播放的主要内容,如果未能解决你的问题,请参考以下文章