Tag: 媒体播放器

强制Android使用RTSP / AVP / TCP交错

我在Galaxy S3上使用Android 4.1.2。 目前android mediaplayer总是尝试使用RTSP UDP(RTP / AVP / UDP)方法连接到RTSP服务器。 如果Android MediaPlayer没有收到其UDP端口上的数据,那么尝试RTSP TCP交错(RTP / AVP / TCP)。 这很好,但延迟了10秒左右。 我想避免这个延迟,并强制Android MediaPlayer始终使用RTSP TCP交错(RTP / AVP / TCP)的所有或特定的URL。 我尝试了在这里给出build议,发送461或400错误响应代码给SETUP请求。 但似乎mediaplayer不关心响应,并发送两个轨道的SETUP命令,然后挂起连接。 我该如何解决这个问题?

如何在Android中播放audio文件

我在我的android手机中有一个mp3文件,让它是我的SD卡中的xyz.mp3。 我想通过我的应用程序播放它。 请帮我,我不知道这件事。

Android:mediaplayer带走了未处理的事件

我需要获取audio文件的持续时间,以便从应用程序播放一系列语音通知。 我已经添加了audio文件作为资源,他们打得很好。 下面的示例代码实际上完美地达到了预期的目的:它确实会返回audio文件的持续时间。 这里是代码: float getDurationOfAudioResource(LocationEnum loc, Context context){ float duration = 0; try { MediaPlayer mp; mp = MediaPlayer.create(context, getAudioResource(loc)); duration = mp.getDuration(); mp.release(); mp = null; } catch (IllegalStateException e) {e.printStackTrace(); logError(25, "TestDescItem:Fault::Could not open mediaplayer object with audio resource.");} return duration; } 这是奇怪的事情。 此代码在主要活动中调用,为给定testing准备一组audio指令。 此活动中没有错误。 但是一旦第二个活动被调用,我就会在logcat上遇到很长的一串错误。 03-07 13:23:43.820: I/ActionLogger(21435): GenTest_Info_Test #0 successfully […]

使用MPVolumeView后,如何重新打开系统音量叠加层?

我正在为非本机声音格式构buildaudio播放器。 应用程序的层次结构基于iPod.app。 它有一些UITableView和一个UIView ( TrackView ),它使用MPVolumeView来允许用户改变屏幕上的音量。 直到第一次TrackView变为可见时,使用硬件button更改音量按预期(和所需)显示系统音量叠加。 当TrackView可见时,由于MPVolumeView在使用硬件button(也是所需)更改音量时会更新,因此不会显示这些叠加层。 问题是:一旦退出TrackView ,使用硬件音量button时系统音量叠加就不会出现。 我已经尝试编程分配,创build和TrackViewController viewWillAppear:添加MPVolumeView TrackViewController viewWillAppear:然后删除,释放和在TrackViewController viewWillAppear:删除相同的MPVolumeView TrackViewController viewWillDisappear: MPVolumeView 这在iPod.app中不会发生。 退出包含MPVolumeView的视图后,使用硬件音量button时系统音量叠加显示。 我错过了什么? 更新2:这似乎是在iOS 3.2之后引入的MPVolumeView中的一个错误,并在4.2中修复。 更新:我从默认的基于窗口的应用程序项目做了一个简单的减less,展现了相同的行为。 一旦MPVolumeView变得可见,系统卷覆盖从未在应用程序中再次看到。 VolumeAppDelegate.h: #import <UIKit/UIKit.h> #import <MediaPlayer/MediaPlayer.h> @interface VolumeAppDelegate : NSObject <UIApplicationDelegate> { UIWindow *window; IBOutlet UIView *volumeView; IBOutlet MPVolumeView *mpVolumeView; } @property (nonatomic, retain) IBOutlet UIWindow *window; -(IBAction)toggleVolumeView:(id)sender; @end VolumeAppDelegate.m: #import […]

iPhone SDK:如何在视图内播放video? 而不是全屏

我想在UIView播放video,所以我的第一步是为视图添加一个类,并使用下面的代码开始播放电影: – (IBAction)movie:(id)sender{ NSBundle *bundle = [NSBundle mainBundle]; NSString *moviePath = [bundle pathForResource:@"Movie" ofType:@"m4v"]; NSURL *movieURL = [[NSURL fileURLWithPath:moviePath] retain]; MPMoviePlayerController *theMovie = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; theMovie.scalingMode = MPMovieScalingModeAspectFill; [theMovie play]; } 但是这只是在自己的类中使用这个方法时崩溃的应用程序,但在其他地方很好。 有谁知道如何播放video内的视图? 并避免它是全屏?

如何在确定模式下使用Android ProgressBar?

我正在写一个媒体播放器,我想要一个进度条来显示歌曲的进度。 我find了ProgressBar类,但是我可以在屏幕上看到的是一个圆形的旋转图标。 什么即时通讯寻找是一个实际的酒吧。 如何将ProgressBar的样式更改为条形图(而不是圆形),以及如何将其与MediaPlayer一起使用? 谢谢

在button动作上传递参数:@selector

我想从我的dynamic生成的button传递电影url到MediaPlayer: [button addTarget:self action:@selector(buttonPressed:) withObject:[speakers_mp4 objectAtIndex:[indexPath row]] forControlEvents:UIControlEventTouchUpInside]; 但action:@selector() withObject:不起作用? 有没有其他解决scheme? 感谢帮助!

Android MediaPlayer错误(1,-2147483648)

我有两个不同的video,我试图加载到一个VideoView使用 videoView.setVideoURI(Uri.parse(url)); 这两个video,让他们是video1和video2 ,具有以下规格(使用ffmpeg -i提取); 实际上,它们是同一个video的两种不同的编码: video1: Seems stream 0 codec frame rate differs from container frame rate: 180000.00 (180000/1) -> 90000.00 (180000/2) Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '4fbfd5ece4b0932236fc234d.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: mp42isomavc1 creation_time : 2011-12-03 04:43:46 genre : Trailer artist : Paramount Pictures title : Captain America: The First Avenger […]

如何使用Servletstream式传输audio/video文件,如MP3,MP4,AVI等

我想使用servlet将我的audio/video文件stream式传输到Web上。 我尝试了下面的servlet: protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { File file = new File("/Users/myfolder/Documents/workspace/love.mp3"); response.setContentType(getServletContext().getMimeType(file.getName())); response.setContentLength((int) file.length()); Files.copy(file.toPath(), response.getOutputStream()); } 和下面的HTML: <a href="/media" data-format="mp3 ogg">Click Here!</a> 然而,玩家正在加载…正在加载…正在加载… 这是如何造成的,我该如何解决?

Android 2.2 MediaPlayer可以正常工作,只有一个SHOUTcast URL,但不能用另一个SHOUTcast URL

请参阅我用于stream式shoutcaststream的代码,它可以使用一个URL,但不能与另一个URL一起使用。 这个工作: Uri myUri = Uri.parse("http://fr3.ah.fm:9000/"); 但不是这个: Uri myUri = Uri.parse("http://someOtherURL"); SimpleMusicStream.java import android.app.Activity; import android.media.AudioManager; import android.media.MediaPlayer; import android.net.Uri; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; public class SimpleMusicStream extends Activity implements MediaPlayer.OnCompletionListener, MediaPlayer.OnPreparedListener, MediaPlayer.OnErrorListener, MediaPlayer.OnBufferingUpdateListener { private String TAG = getClass().getSimpleName(); private MediaPlayer mp = null; private Button play; private Button pause; […]