我正在实现自定义视频播放器,因为我需要自定义视频控件.我有一个只有一个活动的应用程序,在启动时应立即开始播放视频.
现在,问题是:
我不希望视频从头开始,而是从后面的位置开始.所以我做了一个寻求(16867).由于seekTo是异步的,我将mediaplayer(player.start())的start调用放在onSeekCompleteListener的onSeekComplete中.
我经历的一个奇怪的行为是,我可以看到/听到视频从一开始播放几毫秒才实际播放/跳到我寻找的位置.但是 - 另一方面 - 我在player.start之前调用的Log输出返回正确的位置16867,我寻求的位置.
以下是相关的代码部分,完整的课程在http://pastebin.com/jqAAFsuX
(我在Nexus One/2.2 StageFright上)
private void playVideo(String url) {
try {
btnVideoPause.setEnabled(false);
if (player==null) {
player=new MediaPlayer();
player.setScreenOnWhilePlaying(true);
}
else {
player.stop();
player.reset();
}
url = "/sdcard/myapp/main/videos/main.mp4"; // <--- just for test purposes hardcoded here now
player.setDataSource(url);
player.setDisplay(holder);
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
player.setOnCompletionListener(this);
player.setOnPreparedListener(this);
player.setOnSeekCompleteListener(new MediaPlayer.OnSeekCompleteListener() {
public void onSeekComplete(MediaPlayer mediaPlayer) {
Log.d("APP", "current pos... "+ player.getCurrentPosition() );
player.start(); // <------------------ start video on seek completed
player.setOnSeekCompleteListener(null);
}
});
player.prepareAsync();
}
catch (Throwable t) …Run Code Online (Sandbox Code Playgroud) 我创建了一个VS 2008安装项目.我试图在Windows 7计算机上以标准用户身份安装它.我在安装过程中收到有关未知发布者的警告.我使用makecert创建证书,然后将其转换为密码pfx文件.我已经使用pfx文件对msi和setup.exe进行了数字签名.当我进入文件属性时,我可以看到附加的数字证书.在Windows 7计算机上,我将pfx文件导入"受信任的发布者".我需要做些什么才能摆脱警告?我无法安装应用程序所需的管理员用户和密码.我无法更改UAC设置.我需要对证书/设置文件进行更改才能使其正常工作.
我有一个简单的一级深层词汇分类法.像Vocabulary-> Term-> Node这样的东西.我想知道的是,如果有一个内置函数来获取与单个术语相关的节点数组,比如taxonomy_select_nodes(),但会返回一个节点数组而不是一个字符串.
我希望将图片存储在NoSQL数据库(<5MB)中,并将它们链接到不同存储桶中的文章.Riak的链接步行功能提供什么样的速度?它是否像RDBMS一样加入?
每当我设计一个数据库时,我都会自动为每个表启动一个自动生成的GUID主键(除了查找表)
我知道我永远不会因重复键,合并表等而失眠.对我来说,哲学上任何特定记录在所有域中都应该是唯一的,并且这种唯一性应该从表到表以一致的方式表示.
我意识到它永远不会是最高效的选择,但是把表现放在一边,我想知道是否有反对这种做法的哲学论据?
根据回复,让我澄清一下:
我所说的一直使用GUID代理键作为主键 - 无论是否以及如何在表上设计任何自然键或顺序键.这些是我的假设:
请考虑以下代码:
class Foo {
// boring parts omitted
private TcpClient socket;
public void Connect(){
socket.BeginConnect(Host, Port, new AsyncCallback(cbConnect), quux);
}
private void cbConnect(IAsyncResult result){
// blah
}
}
Run Code Online (Sandbox Code Playgroud)
如果socket在BeginConnect返回之后抛出异常并且在cbConnect调用之前抛出异常,它会在哪里弹出?甚至允许扔在后台?
为什么以下不适用于Java?它适用于C#:
public static final List<String> Split(String str, char delimiter)
{
if ((str == null) || "".equals(str))
{
return new CopyOnWriteArrayList<String>();
}
}
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,说这个方法必须返回List.CopyOnWriteArrayList实现List接口.为什么协方差不适用于Java中的返回值?
我得到一个CSS文件:
div#header h1 {
z-index: 101;
color: #000;
position: relative;
line-height: 24px;
margin-right: 48px;
border-bottom: 1px solid #dedede;
font-size: 18px;
}
div#header h2 {
z-index: 101;
color: #000;
position: relative;
line-height: 24px;
margin-right: 48px;
border-bottom: 1px solid #dedede;
font-size: 18px;
}
Run Code Online (Sandbox Code Playgroud)
我想在{...}之间按字母顺序排列
div#header h1 {
border-bottom: 1px solid #dedede;
color: #000;
font-size: 18px;
line-height: 24px;
margin-right: 48px;
position: relative;
z-index: 101;
}
div#header h2 {
border-bottom: 1px solid #dedede;
color: #000;
font-size: 18px;
line-height: 24px;
margin-right: 48px; …Run Code Online (Sandbox Code Playgroud) .net ×2
android ×1
asynchronous ×1
c# ×1
covariance ×1
deployment ×1
drupal ×1
installation ×1
java ×1
matlab ×1
php ×1
riak ×1
sql ×1
vim ×1