标签: cross-fade

OnPageChangeListener alpha交叉淡化

关于Android中的交叉淡化有很多问题,但它们都包含动画.我的问题是关于使用ViewPager的OnPageChangeListener进行交叉淡化.

我有一个ViewPager可以有无限数量的视图,但实际上使用大约6或7个视图.没那么多.

ViewPager中的每个视图都有一个背景位图,应该固定并与下一个(或上一个)视图的背景交叉淡入淡出,而不是与视图的其余部分一起滚动.

为了实现这一点,我将背景分离并添加到ArrayList并稍后将它们分配给ImageViews.但是因为我不想冒险让我的Activity最终有大量的ImageViews,我想到了以下结构:

<FrameLayout 
    android:id="@+id/backgroundContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/bottomImage"
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:scaleType="center" />

    <ImageView
        android:id="@+id/middleImage"
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:scaleType="center" />

    <ImageView
        android:id="@+id/topImage"
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:scaleType="center" />

</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

然后将a OnPageChangeListener分配给ViewPager,以将背景分配给ImageView.

@Override
public void onPageSelected(int position) {
    MyLog.i(TAG, "PAGE SELECTED: " + position);

    if(position == 0) {
        _bottomBackground.setImageBitmap(null);
        _topBackground.setImageBitmap(_backgroundStack.get(position+1));
    } else if (position == NUM_ITEMS-1) {
        _bottomBackground.setImageBitmap(_backgroundStack.get(position-1));
        _topBackground.setImageBitmap(null);
    } else {
        _bottomBackground.setImageBitmap(_backgroundStack.get(position-1));
        _topBackground.setImageBitmap(_backgroundStack.get(position+1));
    }

    _middleBackground.setImageBitmap(_backgroundStack.get(position));            

    // Make the top front background transparent 
    _topBackground.setAlpha(0f);
    _currentBackgroundPosition = position;
}
Run Code Online (Sandbox Code Playgroud)

如果我想要交换背景,这样可以正常工作.当用户滑动ViewPager时,我希望背景交叉淡入淡出.我有一个前进滚动工作的淡入淡出,但我不明白为什么向后滚动的淡入某种方式不会给出一个好的结果.在向后滚动期间,中间背景应淡入底部背景.

我怕我错过了什么.我永远不会更改底部背景的alpha,但Log结果始终显示getAlpha()与中间背景完全相同的值. …

android scroll cross-fade

8
推荐指数
1
解决办法
3743
查看次数

ffmpeg 将一系列图像转换为视频 - 在每两帧之间使用交叉淡入淡出或任何其他过渡

我目前可以将一系列图像转换为视频,但我还需要在它们之间添加过渡/动画。

String[] ffmpegCommand = {"/data/data/mypackage/app_bin/ffmpeg", "-y",
"-qscale", "1", "-r", "" + framerate, "-i", "/data/data/mypackage/app_ipImg/image%3d.jpg",
"-t", "" + (((total_images) * delay_of_each_frame_in_seconds) + 4), //"-s",heightwidth,
"-vcodec", "libx264", "-s", "640x480",
 Environment.getExternalStorageDirectory() + "/photo_directory/myVideo.mp4"};
Run Code Online (Sandbox Code Playgroud)

上面的命令适用于我从图像系列创建视频

现在,我确实想在每个帧之前添加要在最终视频中显示的淡入淡出或其他过渡/动画

我用谷歌搜索了很多,但还没有找到解决这个问题的方法。

请给我建议方法。

提前致谢。

video transition ffmpeg image cross-fade

6
推荐指数
1
解决办法
1万
查看次数

ffmpeg:无限量的过滤器/淡入淡出动态播放列表

我想使用ffmpeg无限播放动态播放列表。这个想法是,执行外部命令/脚本来请求下一个文件的路径(使用文件的预测开始时间作为参数)并继续无限播放文件。

从“使用 FFMPEG 将连续视频文件流式传输到 RTMP 服务器”的答案中,我了解到,我需要编写一个自定义解复用器,类似于解concat复用器。问题源于这样一个事实,即我想在音频文件之间进行交叉淡入淡出,并且根据我对解复用器的理解,我必须将该功能实现到解复用器本身才能做到这一点,因为解复用器只能产生一个(或有限数量)音频输出流,并且您需要两个才能使用acrossfade-filter

所以我必须像这样设置过滤器图:

file1 --------------------------------*-->| cross | ---->more filters ---> Output
file2 -----------------*-->| cross |----->| fade  |
file3 --*-->| cross |----->| fade  |
      ... ->| fade  |
Run Code Online (Sandbox Code Playgroud)

使用无限数量的交叉淡入淡出滤镜。

另外,我真的很想silenceremove在交叉淡入淡出之前对音频文件进行预过滤(*,例如),这使得它变得更加复杂,并且“在解复用器中实现所有内容”方法甚至更糟。

我当前的解决方案是实现一个自定义解复用器,该解复用器在两个输出流之间交替,并在内部进行预过滤,以及输入交替交叉淡入淡出过滤器,如下所示:

files -> | alternating |----->| alternating | ----> more filters--->
         |   demuxer*  |----->|  crossfade  |
Run Code Online (Sandbox Code Playgroud)

我看到这种方法的问题是,我需要将多个 EOF 终止的文件从解复用器发送到交叉淡入淡出过滤器,并且我不知道在使用标准 ffmpeg 函数(例如ff_request_frame.

您能告诉我这种方法是否可行,或者您是否有更好的解决方案来解决这个问题,或者有什么想法可以让这个问题变得更容易?

audio filtering ffmpeg playlist cross-fade

5
推荐指数
0
解决办法
579
查看次数

使用fadeIn()循环显示背景图像

我正在制作一个带有一些视差图像的响应式网站,第一个图像是一个循环图像,就像一个图像滑块.我正在使用jquery Cool小猫的响应能力.

我加载的相关jquery插件是:

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>  
<script type="text/javascript" src="js/jquery-ui.js"></script>
Run Code Online (Sandbox Code Playgroud)

div的css是:

#slide2 {
  background-image:url(../images/darkmap.png);
  height:700px;
}
Run Code Online (Sandbox Code Playgroud)

我发现使用这种布局将HTML图像用于背景可能会有问题,这就是为什么我通过使用数组来避免这种情况:

var imageIndex = 0;
var imagesArray = [
  "images/photo1.png",
  "images/photo2.png",
  "images/photo3.png"
];
Run Code Online (Sandbox Code Playgroud)

我有一个包含在$(document).ready()函数中的代码,它将css背景更改为数组,然后循环遍历数组,我添加fadeIn()了平滑过渡:

function changeImage(){
  var index = imageIndex++ % imagesArray.length;
  $("#slide2").css("background","url('"+ imagesArray[index] +"')");
}
setInterval(changeImage, 5000);
changeImage.fadeIn();
Run Code Online (Sandbox Code Playgroud)

图像循环工作正常,但由于某种原因fadeIn(),它不起作用,它只是从一个图像闪烁到另一个图像.有人可以告诉我我错过了什么吗?

jquery background-image fadein cross-fade

3
推荐指数
1
解决办法
1866
查看次数

使用 sox 对多个音频文件进行交叉淡入淡出

我正在尝试将多个音频文件与 3 秒交叉淡入淡出一起交叉淡入淡出,然后使用 sox 将它们合并到一个文件中。

我可以通过以下命令将多个文件连接在一起,但不确定如何在每个文件之间交叉淡入淡出:

sox $(ls /tmp/a*.wav | sort -n) /tmp/out/out.wav
Run Code Online (Sandbox Code Playgroud)

我可以使用下面的命令交叉淡入淡出两个文件,但不确定如何将连接多个文件的第一行与拼接/交叉淡入淡出的第二行组合在一起

sox 100hz.wav 440hz.wav out.wav splice $(soxi -D 100hz.wav),3
Run Code Online (Sandbox Code Playgroud)

我发现了这个问题,但答案对我不起作用。 使用 sox splice 淡入淡出一组音频文件

audio bash sh sox cross-fade

3
推荐指数
1
解决办法
2240
查看次数

ffmpeg - 使用交叉淡入淡出进行无缝循环

我想将交叉渐变应用于具有前x帧的视频的最后x帧,以便获得无缝循环.

我怎样才能做到这一点?

ffmpeg cross-fade

3
推荐指数
1
解决办法
1201
查看次数

使用ffmpeg在两个音频文件之间淡入淡出?

我有两个 mp3 文件,想将它们连接成一个新文件。但是,我只想要每个文件的一部分,我想在两者之间创建一个交叉淡入淡出。

例如,我想要 a.mp3 的前 3 分钟,然后在 5 秒内从 1:20 分钟标记(在 b.mp3 内)开始淡入到 b.mp3。

这是我想要的时间线插图:

时间线

因此,生成的文件的总长度将是 3:05 分钟加上 b.mp3 的长度减去 1:25 分钟,这归结为 b.mp3 的长度加上 1:40 分钟。

我对 ffmpeg 的源选择、映射和过滤器语法太缺乏经验,无法获得我想要的结果。例如,我可以对一个 mp3 文件应用淡入或淡出,但我不知道如何使这两个文件重叠,从而导致两个音频源之间出现淡入淡出。

只是为了清楚起见:我正在寻找一个命令行来执行此操作,即使用独立版本的 ffmpeg,我没有将 ffmpeg 用作应用程序或任何内容中的库。

audio ffmpeg filter fading cross-fade

3
推荐指数
1
解决办法
1479
查看次数

使用 ffmpeg 和 xfade 过滤器合并多个视频文件

我需要将多个视频文件(包含音频)合并到一个视频中。我注意到最近发布并使用了 xfade,但我遇到了音频同步问题。

所有视频的视频和音频都采用相同的格式/分辨率/声望和比特率/等。

这是我使用 0.5 交叉淡入淡出过渡合并 5 个不同持续时间的视频的方法:

ffmpeg \
-i v0.mp4 \
-i v1.mp4 \
-i v2.mp4 \
-i v3.mp4 \
-i v4.mp4 \
-filter_complex \
"[0][1]xfade=transition=fade:duration=0.5:offset=3.5[V01]; \
 [V01][2]xfade=transition=fade:duration=0.5:offset=32.75[V02]; \
 [V02][3]xfade=transition=fade:duration=0.5:offset=67.75[V03]; \
 [V03][4]xfade=transition=fade:duration=0.5:offset=98.75[video]; \
 [0:a][1:a]acrossfade=d=0.5:c1=tri:c2=tri[A01]; \
 [A01][2:a]acrossfade=d=0.5:c1=tri:c2=tri[A02]; \
 [A02][3:a]acrossfade=d=0.5:c1=tri:c2=tri[A03]; \
 [A03][4:a]acrossfade=d=0.5:c1=tri:c2=tri[audio]" \
-vsync 0 -map "[video]" -map "[audio]" out.mp4
Run Code Online (Sandbox Code Playgroud)

上面的代码生成一个带音频的视频。第一段和第二段与音频对齐,但从第二个过渡开始,声音未对齐。

video ffmpeg concatenation cross-fade

3
推荐指数
2
解决办法
2226
查看次数

Crossfade两个div使用jQuery

我在网站上有一个多步骤的网络表单.当一个人点击下一个时,div会逐渐消失,因为div二渐渐淡入.我看到的问题是当div一个淡出div二衰落在div一个下面然后跳跃一旦div一个淡出.

我如何防止这种情况并让它们实际交叉淡入淡出?

HTML

<div class="step-1"> 
  <!-- CODE -->
</div >

<div class="step-2"> 
  <!-- THIS DIV IS HIDDEN TO BEGIN WITH -->
</div >
Run Code Online (Sandbox Code Playgroud)

JS

$( ".step-1-next" ).on( "click", function() {
    $( ".step-1" ).fadeOut( "slow" );
    $( ".step-2" ).fadeIn( "slow" );
    return false;
});
Run Code Online (Sandbox Code Playgroud)

html javascript jquery cross-fade

2
推荐指数
1
解决办法
9089
查看次数

CSS 淡入淡出动画

我使用 CSS 创建了一个交叉淡入淡出,但我在时间方面遇到了困难。我希望每个图像之间延迟 4 秒或 4 秒,但它不起作用。

#cf {
  position:absolute;
  margin:0 auto;
    width: 100%;
    height: 100%;
    top: 0;
}

#cf img {
  position:absolute;
  left:0;
  -webkit-transition: opacity 1s ease-in-out;
  -moz-transition: opacity 1s ease-in-out;
  -o-transition: opacity 1s ease-in-out;
  transition: opacity 1s ease-in-out;
    z-index: -1;
}

@-webkit-keyframes cf4FadeInOut {
 0% {
  opacity:1;
}
15% {
opacity:1;
}
55% {
opacity:0;
}
100% {
opacity:0;
}
}

@-moz-keyframes cf4FadeInOut {
 0% {
  opacity:1;
}
15% {
opacity:1;
}
55% {
opacity:0;
}
100% { …
Run Code Online (Sandbox Code Playgroud)

html css cross-fade

2
推荐指数
1
解决办法
1933
查看次数

如何在没有动画的情况下控制两个UIImage之间的交叉淡入淡出?

关于UIImage使用动画的交叉渐变有很多帖子.但我找不到如何在没有动画情况下控制交叉渐变,而是由我自己控制; 例如,在0.0和之间的参数1.0控制交叉淡入淡出量.

我可以把两个UIImageViews放在一起并控制alpha(顶部一个从底部1.0开始0.0,底部一个在1.0),但这不是一个正确的交叉淡化AFAIK.

为了使它更加图形化:在屏幕上有一个滑块,它给出一个介于0.0和之间的值1.0,在它上面是一个图像.我想要的是在最初显示的图像(当滑块是0.0)和另一个图像(如果滑块是完全可见的)之间交叉淡入淡出1.0.因此,当您慢慢移动滑块时,您会看到另一个图像慢慢显示.

iphone uiimageview uiimage ios cross-fade

1
推荐指数
1
解决办法
745
查看次数