gpt4 book ai didi

java - "audio/mpeg"某些文件的流 api 无法播放某些文件?

转载 作者:太空狗 更新时间:2023-10-29 14:38:00 35 4
gpt4 key购买 nike

我们正在 Android 手机上录制一些音频,根据 vlc 信息,这些音频具有以下格式:

Codec: MPEG AAC Audio (mp4a)
Language: English
Type: Audio
Channels: Stereo
Sample rate: 32000 Hz
Bits per sample: 32

上述文件无法在 mime 类型 audio/mpeg 的 safari 浏览器上播放,但是一旦我们将 mime 更改为 audio/mp4 它就开始播放了 Safari 浏览器。对于 Android,我们使用 API 来使用 api 资源流式传输此文件,如下所示:

@GET
@UnitOfWork
@Produces("audio/mpeg")
@Path("/getaudiofile/{fileId}")
public Response getPart(@Auth AuthUser authUser, @PathParam("fileId") Long fileId) {

File audioFile = new File(filesTableDAO.getFilePathById(fileId));

if(audioFile.exists()) {
return Response.ok().entity(audioFile).build();
} else {
// ... Return 404 here
}

}

但使用上述 API 时,有些文件可以播放,有些则不能播放,这与之前的 Safari 情况类似。但是 Safari 问题很快就消失了,我们将 mime 更改为 "audio/mp4""video/mp4" 两种 mime 类型都可以工作。

但对于 API /getaudiofile/{fileId},以下 MIME 类型均无法与 javax.ws.rs @Produces 注释一起使用:

    audio/mp4
video/mp4
audio/mpeg
audio/m4a
audio/mpeg-4
audio/mp4a

但是对于 audio/mpeg,有些文件可以播放,有些则不能。

正确的 mime 类型是什么,或者文件可以在从 API 返回时自行设置编解码器或 mime 信息?

或者有什么方法可以制作Android Media Player知道 MIME 类型吗?喜欢 html tag .

我们有 mime“audio/mpeg”流媒体文件内容,媒体播放器可以轻松播放较小的文件。但是更大的流媒体内容无法播放,例如10 - 20 MB。

播放器的流 URL 有问题,无法获得任何 MIME 扩展名,例如mp3 或 mp4。因此,我们希望媒体播放器提前知道流式传输的内容类型。

MediaPlayer API 是否支持在播放前将 mime 类型设置为播放器实例?

更新

1] 大文件小文件播放时会出现这种情况,播放几秒(1-50 秒)的录音没有问题,播放长度超过一分钟的录音文件无法播放。

2] 如果同一文件在本地文件系统上,则从经过身份验证的 URL 播放时播放失败。

最佳答案

如果我理解正确你的问题,或许你可以试试

openTypedAssetFile

public AssetFileDescriptor openTypedAssetFile (Uri uri, String mimeTypeFilter, Bundle opts)

Called by a client to open a read-only stream containing data of a particular MIME type. This is like openAssetFile(Uri, String), except the file can only be read-only and the content provider may perform data conversions to generate data of the desired type.

openTypedAssetFile 的文档是 here .

另请查看 openWTypedAssetFileDescriptor 的 API here .

关于java - "audio/mpeg"某些文件的流 api 无法播放某些文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52777862/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com