草庐IT

android - MediaMuxer 无法制作可流式传输的 MP4

我在Android上使用MediaExtractor来编辑MP4以获取音频和视频轨道,然后使用MediaMuxer创建一个新文件。它工作正常。我可以在手机(和其他播放器)上播放新的MP4,但无法在网络上播放文件。当我停止MediaMuxer时,它会生成一条日志消息"Themp4filewillnotbestreamable."我查看了底层native代码(MPEG4Writer.cpp),作者似乎无法计算所需的moov框大小。如果未将比特率作为参数提供给编写器,它会尝试使用一些启发式进行猜测。问题是MediaMuxer不提供设置MPEG4Writer参数的能力。我是否遗漏了什么或者我是

Android ExoPlayer 通过 HTTP 流式传输 mp3

我正在尝试掌握新的ExoPlayerlibrary今年介绍于GoogleI/O2014这样我就可以将它合并到我的应用程序中。我正在尝试通过HTTP流式传输mp3,但到目前为止还没有成功。我不确定这是否可能,但我正在尝试在不扩展任何基本源/示例类的情况下完成此操作。我的代码如下:在我的Activity中SampleSources=newFrameworkSampleSource(this,Uri.parse("http://traffic.libsyn.com/joeroganexp/p518.mp3"),null,1);//SinceIonlyhave1audiorendererExo

android - 抱歉,无法播放此视频 - 将 mp4 流式传输到 android

我到处寻找解决方案(包括SO),但仍未找到解决方案。我需要在我的应用程序中播放简单的视频。它比带有视频的简单窗口要简单一些。简单来说,我的屏幕上有两种布局,一种包含一些其他内容,另一种是有视频窗口。还有一个按钮可以在两者之间切换。这一切都很好,在我发现视频View不能出现在可见性“消失”的View上之后-因此我在需要时将其添加到容器布局/从容器布局中删除。但是,我在实际播放视频时遇到了问题。当我尝试激活它时,出现了可怕的错误抱歉,无法播放此视频。关于SO的问题之一是讨论视频格式(Android--Can'tplayanyvideos(mp4/mov/3gp/etc.)?)-但是我已经知

java - AudioTrack - 使用 jlayer(java mp3 解码器)的短数组到字节数组失真

我正在使用jLayer解码MP3数据,调用如下:SampleBufferoutput=(SampleBuffer)decoder.decodeFrame(frameHeader,bitstream);这个返回解码数据的调用,返回一个short[]数组。output.getBuffer();当我使用该方法调用AudioTrackwrite()时,它在我循环遍历文件时播放良好:at.write(output.getBuffer(),0,output.getBuffer().length);但是,当我使用此答案中的任何方法将short[]数组转换为byte[]数组时:https://stac

android - Mediaplayer 串流在线 MP3 文件

我有一个Android应用程序可以流式传输MP3文件并在播放器中播放该文件,但问题是mediaPlayer.prepare();需要很长时间缓冲,应用程序会卡住所以我尝试使用prepareAsync();,但是使用这个函数我无法让播放器播放下一个文件。它只是在线播放单个文件;如果我需要播放另一个文件,我必须在播放结束时关闭并重新启动Activity。这是我的代码:publicvoidplayMp3(String_link){mediaPlayer.setOnPreparedListener(newOnPreparedListener(){publicvoidonPrepared(Med

android - 播放 SD 卡中的 mp3 声音

我的平板电脑SD卡上有一个名为“/Android/data/com.example.android.app/files”的目录。我只是手动创建它,因为我不知道如何测试我的应用程序的这方面。我将文件名存储在sqlite数据库中,例如“/folder1/audio1.mp3”、“/folder2/audio1.mp3”等...这些文件具有相同的名称,但位于不同的文件夹中,因为它们是同一件事是不同的语言。我在SD卡上的“/Android/data/com.example.android.app/files”目录中有这些文件夹(folder1和folder2)和所有mp3文件。所以,我从数据库

java - mp4parser 版本冲突(压缩后的视频没有声音)

我在我的项目中使用了这两个库:https://github.com/HemendraGangwar/VideoTrimmingLikeWhatsapphttps://github.com/fishwjy/VideoCompressor这两个库都在本地导入到我的项目中(即复制它们并将它们添加到项目中)这两个库在单独使用时都可以正常工作,但是当我一起使用它们时,我会遇到一些Programtypealreadypresent类型的错误我通过删除文件isoparser-1.0.6.jar解决了这个问题来自第二个库,因为我注意到这两个库使用相同的库'com.googlecode.mp4parse

HTC Incredible 上 HTTP MP3 流的 Android Intent

在普通的Droid和NexusOne上,一个像这样的Intent:newIntent(Intent.ACTION_VIEW).setDataAndType(Uri.parse("http://example.com/somemp3.mp3"),"audio/mp3");工作正常,弹出系统音乐播放器以流式传输文件。但它与HTCIncredible上的任何Activity都不匹配,当我对其调用startActivity时导致强制关闭(我猜测是由于SenseUI的替换应用程序中缺少intent过滤器)。如果不需要,我宁愿不必自己管理MediaPlayer实例;有谁知道是否有一种方法可以构造一

安卓 : Playing MP3 files with AudioTrack using ffmpeg

我在我的项目中集成了ffmpeglib,我也可以获取媒体文件的信息。但现在我必须使用ffmpeglib在android中使用AudioTrack类播放mp3文件。为此,我必须将字节缓冲区传递给AudioTrack,但我不知道如何从ffmpeg获取字节缓冲区并将其与AudioTrack一起使用。我也想立即播放文件。这是我在java中的音轨代码:AudioTracktrack;bufferSize=AudioTrack.getMinBufferSize(44100,AudioFormat.CHANNEL_CONFIGURATION_MONO,AudioFormat.ENCODING_PCM

java - Android - 从 mp3 流中读取 ID3 标签

我正在使用MediaPlayer播放mp3文件mp.setDataSource(myContext,Uri.parse("http://my_song.mp3"));mp.prepareAsync();mp.setOnPreparedListener(mpOnPreparedListener);mp.setOnBufferingUpdateListener(mpOnBufferingUpdateListener);关于如何使用androidAPI或任何替代方法从此流中读取ID3标签,我有什么想法吗? 最佳答案 您可以使用MediaM