- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章PHP getID3类的使用方法学习笔记【附getID3源码下载】由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
本文实例讲述了PHP getID3类的使用方法。分享给大家供大家参考,具体如下:
网上描述:
getID3()这个PHP脚本能够从MP3或其它媒体文件中提取有用的信息如:ID3标签,bitrate,播放时间等.
(格式包括:Ogg,WMA,WMV,ASF,WAV,AVI,AAC,VQF,FLAC,MusePack,Real,QuickTime,Monkey's Audio,MIDI等).
官方网址:https://www.getid3.org/.
功能:
使用这个方法,可以获得音频、视频、图片等媒体文件中的信息, 。
我测了一下常见类型的媒体文件,测试结果如下:
使用的getID3的版本是:1.9.16-201810171314.
支持的类型:
音频:【mp3】、【amr】; 视频:【mp4】、【flv】、【wmv】、【avi】; 图片:【gif】、【png】、【jpg】.
不支持的类型:
视频格式【ts】.
示例:
使用背景:做聊天功能时,发送语音时,需要知道语音的时长,这个时候就可以使用getID3这个类.
开发环境:ThinkPHP3.2框架.
下载getID3类:在官网下载后解压,里边有许多文件,很多都是demo,只需要将getid3目录放到项目里, 。
我把目录放到ThinkPHP\Library\Vender下.
调用示例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
Vendor(
'getid3.getid3'
);
$getID3
=
new
\getID3();
$analyzeFileInfo
=
$getID3
->analyze(
$filename
);
if
(
$analyzeFileInfo
&&
is_array
(
$analyzeFileInfo
)){
if
(isset(
$analyzeFileInfo
[
'error'
]) &&
$analyzeFileInfo
[
'error'
]){
$err_msg
=
'获取语音消息的时长失败'
;
if
(
is_array
(
$analyzeFileInfo
[
'error'
])){
foreach
(
$analyzeFileInfo
[
'error'
]
as
$key
=>
$value
) {
$err_msg
.=
',错误'
. (
$key
+1) .
':'
.
$value
;
}
}
else
{
$err_msg
.=
',错误:'
.
$analyzeFileInfo
[
'error'
];
}
log(
$err_msg
);
return
false;
}
else
{
if
(isset(
$analyzeFileInfo
[
'playtime_seconds'
])){
return
ceil
(
$analyzeFileInfo
[
'playtime_seconds'
]);
}
return
false;
}
}
else
{
log(
'解析语音文件失败:'
.
$analyzeFileInfo
);
return
false;
}
}
|
附:getID3类源码点击此处本站下载.
希望本文所述对大家PHP程序设计有所帮助.
原文链接:https://www.cnblogs.com/gyfluck/p/10303023.html 。
最后此篇关于PHP getID3类的使用方法学习笔记【附getID3源码下载】的文章就讲到这里了,如果你想了解更多关于PHP getID3类的使用方法学习笔记【附getID3源码下载】的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我正在处理一位离职顾问的一些代码。我试图了解传递给方法的 session 变量与 req.getSession() 返回的变量之间是否存在差异 当我在调试器中检查它们时,它们看起来是一样的。是否有理由
我在android中实现了一个媒体播放器,它可以在不同按钮的帮助下播放不同的文件。 public class MainActivity extends AppCompatActivity { Medi
当我使用 magentoshop 访问页面时;我收到此错误消息: 在第 85 行的/xxxxx/app/code/core/Mage/Catalog/Model/Product/Type/Config
我现在无法解决这个问题,所以任何帮助都会很棒.. for(EdgeOf e: gra.getEachVertex()) { System.out.println(e.getId()); }
Thread thbus = new Thread(bus); bus.setName("Bus"+ thbus.getId()); Thread thmechanics = new Thread(b
对于我的 Android 项目,我使用 getID() 方法来检索 View 的数值并将该值存储在我的数据库中。我相信针对特定 View 的此 getID() 方法将始终在生产环境中的多次执行以及多年
我记得在 JPA 或 hibernate 中有一个注释告诉 hibernate 使用 getId/setId 方法而不是属性(我们注释我们的属性)。如果没有此设置,getId 会导致访问数据库并填充该
我不确定这是否是导致我的问题的真正原因,但也许有人会知道。当我使用 Laravel Socialite 并执行以下操作时: $social_user = Socialite::driver($prov
这个问题已经有答案了: How to get Resource Name from Resource id (5 个回答) 已关闭 4 年前。 我的主要 Activity 中有一系列按钮,当我单击其中
我正在尝试实现一个 getter 方法来获取对象的 id:该方法应声明为“public int getId()”。 问题是对象类扩展了 Thread 类,该类已经具有“int getId()”方法。
嗨,我正在 Spring boot MongoDB 示例上做简单的应用程序。 我在运行 sprint boot 主类时收到此错误: BookController.java Error:(26, 54)
所以我使用了 view.getId() 来实现改变我所拥有的,就像这样: public void changeLinear(View view) { layoutPrimer.setVisib
HttpSession.getId() 返回的值是否保证在整个时间段内是唯一的——或者仅在所有 Activity session 中是唯一的? 换句话说,我可以将它用作 session 日志条目的 k
为什么,例如,Thread.currentThread().getId() 返回一个 long? 这真的需要 64 位吗?就像我要让一台机器运行那么多线程一样! 说真的,这有点痛苦,因为我正在写一些东
如果多个 Java 应用程序在一个系统上运行,每个线程 ID 相对于所有其他 Java 线程是否是唯一的,无论它们在哪个应用程序中运行? Java 应用程序应该相对于其他 Java 应用程序是沙盒的,
我是 android 编程的新手。我想更新 recyclerview 的卡片 View 布局中的项目。这是 recyclerview 的 ListRowViewHolder public static
本文整理了Java中java.time.ZoneOffset.getId()方法的一些代码示例,展示了ZoneOffset.getId()的具体用法。这些代码示例主要来源于Github/Stackov
本文整理了Java中java.time.ZoneId.getId()方法的一些代码示例,展示了ZoneId.getId()的具体用法。这些代码示例主要来源于Github/Stackoverflow/M
本文整理了Java中libcore.util.ZoneInfo.getID()方法的一些代码示例,展示了ZoneInfo.getID()的具体用法。这些代码示例主要来源于Github/Stackove
我是一名优秀的程序员,十分优秀!