在本文中,我们将为您详细介绍iPhone使用QuickTimePlayer录制手机屏幕的相关知识,此外,我们还会提供一些关于android–使用MediaRecorder录制音频,并与MediaPla
在本文中,我们将为您详细介绍iPhone使用QuickTime Player录制手机屏幕的相关知识,此外,我们还会提供一些关于android – 使用MediaRecorder录制音频,并与MediaPlayer同步播放、Android 录制手机屏幕视频生成GIF图片实例详解、asp.net – 使用HttpHandler和IIS 5.1在iPhone上播放Quicktime视频、AVPlayer seektoTime iPhone的有用信息。
本文目录一览:- iPhone使用QuickTime Player录制手机屏幕
- android – 使用MediaRecorder录制音频,并与MediaPlayer同步播放
- Android 录制手机屏幕视频生成GIF图片实例详解
- asp.net – 使用HttpHandler和IIS 5.1在iPhone上播放Quicktime视频
- AVPlayer seektoTime iPhone
iPhone使用QuickTime Player录制手机屏幕
步骤一:
步骤二:
步骤三:
android – 使用MediaRecorder录制音频,并与MediaPlayer同步播放
目前我正在我公司做一些研究用于voip应用程序.
我们想要在amr中记录设备麦克风的声音,对其进行加密并将数据发送到我们的服务器,对方从该服务器流式传输并解密它.对于某些测试用例,我目前使用MediaRecorder以amr录制声音.因为我想连续传输当前的声音,我不能使用文件来存储数据.所以我创建了一个管道并将其作为文件描述符提供给MediaRecorder-Reference.
MediaRecorder mediaRecorder = createMediaRecorder();
//make a pipe containing a read and write parcelFd
try {
ParcelFileDescriptor[] fdPair = ParcelFileDescriptor.createPipe();
//get a handle to your read and write fd objects
ParcelFileDescriptor readFd = fdPair[0];
ParcelFileDescriptor writeFd = fdPair[1];
//set the output to the write side of this pipe
mediaRecorder.setoutputFile(writeFd.getFileDescriptor());
//next create an input stream to read from the read side of the pipe.
FileInputStream reader = new FileInputStream(readFd.getFileDescriptor());
FileOutputStream writer = new FileOutputStream(writeFd.getFileDescriptor());
//Now to fill up a buffer with data, only do a simple read
byte[] buffer = new byte[BUFSIZE];
mediaRecorder.prepare();
//by starting the mediarecorder, it will write into the writeFD
mediaRecorder.start();
Log.i(LOG_TAG, "Start Recording");
while(_isRecording){
int length = 0;
while((length = reader.read(buffer)) > 0){
writer.write(buffer, 0, length);
_audioListener.onAudioRecorded(buffer, 0, length);
}
}
Log.i(LOG_TAG, "Stop Recording");
writer.flush();
writer.close();
reader.close();
tearDownMediaRecorder(mediaRecorder);
} catch (IOException e) {
e.printstacktrace();
}
AudioListener将读取的字节发送到我的Activity,其中我持有MediaPlayer的一个实例,它应该读取数据并播放它.我知道听到这个,我刚刚说的是没有多大意义,但它仅用于测试我如何在MediaPlayer中读取管道的内容.这就是我的活动所做的.
ParcelFileDescriptor[] fdPair = ParcelFileDescriptor.createPipe();
_readFd = fdPair[0];
// _writer = new FileOutputStream(_writeFd.getFileDescriptor());
_reader = new FileInputStream(_readFd.getFileDescriptor());
_mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
_mediaPlayer.setonCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Log.i(LOG_TAG, "Media-Player Completed.");
}
});
_mediaPlayer.setonErrorListener(new one rrorListener() {
@Override
public boolean one rror(MediaPlayer mp, int what, int extra) {
Log.i(LOG_TAG, "Error-What: " + what);
return false;
}
});
_mediaPlayer.setDataSource(_readFd.getFileDescriptor());
Log.i(LOG_TAG, "Set Source of MediaPlayer");
_mediaPlayer.prepare();
_mediaPlayer.start();
}
System.arraycopy(buffer, 0, mAudioTxBuffer, 0, bytesRead);
// _writer.write(mAudioTxBuffer);
_reader.read(mAudioTxBuffer);
目前,如果我想播放收到的字节,我会从MediaPlayer获得以下异常:
09-18 10:38:10.785: W/System.err(12136): java.io.IOException: setDataSourceFD Failed.: status=0x80000000
我目前不知道我是否理解错误或我的代码中有错误.
谢谢你的帮助.
解决方法:
The application needs to have the permission to write to external
storage if the output file is written to the external storage, and
also the permission to record audio. These permissions must be set in
the application’s AndroidManifest.xml file, with something like:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUdio" />
Android 录制手机屏幕视频生成GIF图片实例详解
Android 录制手机屏幕视频生成gif图片实例详解
无图无真相,在我们日常的网络交流中往往需要给交流对象提供直观的显示,而视频是一个很好的方式,但是视频需要播放器,还需要当做文件进行对点传输,并不是很方便。想CSDN这样的博客网站也并不支持在博客里放视频这种方式,除非你贴外链,太烦了不是么。最好是如下图这种gif方式,直观
今天来教大家一个易操作的录制方式。当然,一般只适合Android开发者。因为你需要有AndroidStudio 工具 @H_301_12@
AndroidStudio(完成手机屏幕的视频录制,以下简称AS) @H_301_12@ Photoshop(完成视频处理成gif图片) @H_301_12@ quickTime(Photoshop的插件辅助工具,让够让Photoshop导入视频,安装很快的,如果下载的是Photoshop7.0以上版本则不需要)
首先打开AS,连接上手机,打开你要录制的程序或者视频
打开AS的Android monitor面版
点击箭头所示的图标会弹出如下界面
按提示填写参数,如果是要制作gif图的话,建议传输速率填1或者2就够了,CSDN的图片上传文件大小是有限制的,其他默认就好,点击start Recording,此时跳出如下界面
说明正在录制,进度条会提示你已经录制了多少秒。最多录制三分钟,此时如果你要操作程序进行演示操作就可以开始了。操作完成或录制完成,点击stop Recording
选择文件夹存储,点击ok跳出如下界面说明录制完成了
接下来打开Photoshop,在Photoshop的顶部面板中点击 文件->导入->视频帧到图层。
勾选左侧第二个
你可以按提示选择指定范围视频帧。建议限制为每隔4帧以上,否则生成的gif文件太大了
待视频导入完成后点击 文件->存储为web和设备所用格式,跳出如下面板
可以根据需要调节生成的图片大小。改变颜色位数等,如果是要放入CSDN,记得要把文件大小控制在2M以内。一般5秒以内的视频,宽高分别在300和500以内差不多可以达到这个条件。
调节好参数后点击存储,就在指定目录下生成一张gif图片了,如下图
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
asp.net – 使用HttpHandler和IIS 5.1在iPhone上播放Quicktime视频
生产环境正在运行IIS 6.0并且存在同样的问题,尝试通过Mobile Safari在iPhone上播放视频会显示上述错误.
我检查了Http Headers,它们在两个服务器之间看起来几乎是相同的(除了一些,比如Server头,显然会有所不同),除了它们以不同的顺序出现,尽管我怀疑这个造成了这个问题.
根据Google网上论坛上的this thread,添加’Accept-Ranges:bytes’标题可能有所帮助,尽管这对我们没有任何影响.我还添加了ETag标题,没有任何运气.
实际负责发送文件的代码如下所示:
Context.Response.Buffer = true; Context.Response.ContentType = "video/x-m4v"; Context.Response.AppendHeader("Content-disposition","filename=\"Video.m4v\""); Context.Response.AppendHeader("Content-Length","23456789"); Context.Response.AppendHeader("Accept-Ranges","bytes"); Context.Response.AppendHeader("ETag",GetETag(path)); Context.Response.TransmitFile(path);
传输文件的上述代码似乎运行正常,视频文件在所有桌面浏览器中以及在Windows 7上从IIS 7.5托管时正确播放.只有在尝试使用Mobile Safari在iPhone上播放视频文件时才会出现此问题.上面的代码,ASP.NET Web应用程序托管在IIS 5.1或IIS 6.0上.
有没有其他人经历过这样的事情,并对我能做些什么来获得这个工作有任何想法?
解决方法
除非您还确保服务器支持HTTP范围请求,否则您不能简单地添加“Accept-Ranges”标头.如果客户端播放器要求支持Range请求并且服务器拒绝处理它们,那么请求将被拒绝似乎是合乎逻辑的.
您可以尝试使用fiddler作为反向代理,并查看IPhone是否发出Range请求.
http://www.fiddler2.com/Fiddler/Help/ReverseProxy.asp
AVPlayer seektoTime iPhone
我该怎么做?
我知道通过使用seektotime我可以播放第15秒的视频,但是如何在第45秒停止它并且还会注意到视频在指定时间段播放的方法?
CMTime timer = CMTimeMake(15,1); [player seektotime:timer];
上面的代码将我带到流媒体文件的第15个秒,但是如何在第45秒停止并获得通知呢?
我搜索了很多,但无法得到任何信息.
谢谢
编辑:
正如@codeghost建议的那样,只需使用forwardplaybackEndTime即可.
你可以简单地使用:
yourAVPlayerItem.forwardplaybackEndTime = CMTimeMake(10,1);
这里是AVPlayerItem播放的时间.
解决方法
我们今天的关于iPhone使用QuickTime Player录制手机屏幕的分享已经告一段落,感谢您的关注,如果您想了解更多关于android – 使用MediaRecorder录制音频,并与MediaPlayer同步播放、Android 录制手机屏幕视频生成GIF图片实例详解、asp.net – 使用HttpHandler和IIS 5.1在iPhone上播放Quicktime视频、AVPlayer seektoTime iPhone的相关信息,请在本站查询。
本文标签: