我在播放实时视频(HLS)一段时间后收到此异常,对于录制的视频,它工作正常.
com.google.android.exoplayer2.source.BehindLiveWindowException
at com.google.android.exoplayer2.source.hls.HlsChunkSource.getNextChunk(HlsChunkSource.java:255)
at com.google.android.exoplayer2.source.hls.HlsSampleStreamWrapper.continueLoading(HlsSampleStreamWrapper.java:313)
at com.google.android.exoplayer2.source.CompositeSequenceableLoader.continueLoading(CompositeSequenceableLoader.java:55)
at com.google.android.exoplayer2.source.hls.HlsMediaPeriod.continueLoading(HlsMediaPeriod.java:198)
at com.google.android.exoplayer2.ExoPlayerImplInternal.maybeContinueLoading(ExoPlayerImplInternal.java:1080)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleContinueLoadingRequested(ExoPlayerImplInternal.java:1067)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:289)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:135)
at android.os.HandlerThread.run(HandlerThread.java:61)
at com.google.android.exoplayer2.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)
Run Code Online (Sandbox Code Playgroud) 我将Jenkins用于我的Android应用程序构建。在每个版本中,我都会得到一些信息,例如版本号等。
我正在寻找一种方法来读取Jenkins建立工作时的versionName价值build.gradle。我知道我们可以使用$BUILD_NUMBERenv变量获取buildNumber ,但是如何获取versionName?
我有一个从 Eclipse 导入到 Android Studio 的项目。在 Eclipse 中一切都运行良好。
它包含一个主模块(Eclipse 中的项目),它使用库模块(Eclipse 中的库项目)中的包。由于迁移进展不顺利,我手动创建了一个库模块,并将所有源代码复制到新创建的模块中。
问题是主模块似乎没有找到库模块中的包,当我重建项目时,我收到诸如“包 bla bla 不存在”之类的错误。
这是主模块 gradle.build:
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.pointer.mamagoose"
minSdkVersion 9
targetSdkVersion 21
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile project(':linphoneclean')
compile 'com.android.support:support-v4:25.0.0'
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.google.android.gms:play-services:9.4.0'
compile files('libs/firebase-client-android-2.5.0.jar')
compile files('libs/apache-httpcomponents-httpclient.jar')
compile files('libs/apache-httpcomponents-httpcore.jar')
compile files('libs/android-support-v7-recyclerview.jar')
}
Run Code Online (Sandbox Code Playgroud)
linphoneclean 是库模块。
整个项目的settings.gradle:
include ':linphoneclean'
include ':tigris'
Run Code Online (Sandbox Code Playgroud)
这是库模块的build.gradle:
apply plugin: 'com.android.library'
android {
compileSdkVersion …Run Code Online (Sandbox Code Playgroud) **简而言之:我想要gif中显示的滚动动画,当用户向下/向上滑动它直接进入项目时,它就像一个动画片.
对于Date片段,我猜它是a horizontal Recyclerview.
我看起来是一个答案是,滚动动画的代码示例,以及做日期事物的方法,我可以根据日期自动填充片段.
我之前已经问过这个问题并且问题不是那么清楚.这个应用程序包括向下滑动/向上风格.
当你向下或向上滑动时,应用程序不会让你像普通的Scrollview一样滑动,而是从第一次触摸(例如)它导航到下一篇文章.
重要说明是完整尺寸的帖子/项目(项目布局match_parent?).
此外,每个帖子都有一个日期,并且该应用程序包含一个日历,当您向左或向右滑动时,您导航到日期并根据您获得帖子的日期.
我想要的,提示或方法来做这样的事情.我想提供一个代码,但我试图在脑海里画上一条路但却无法用合乎逻辑的方式思考.
对于片段,我猜他们正在考虑now日期和帖子中最早的日期,并且基于他们制作(循环)片段,每个片段必须根据日期加载帖子(查询到API)给日期作为参数?).
无论如何,这是应用程序的GIF,它解释了我在说什么.我将为这个问题设置一个赏金,因为我渴望在我的应用程序中实现这样的功能.
所有在Android中获取指南针方向的指南我都发现了一个错误:当您以纵向模式握住手机并"俯视"地平线时,指南针箭头从正确的方向转动180度.
Google地图方向指示器没有此问题.
谷歌地图的另一个好处是它们以某种方式估计罗盘精度.知道他们是怎么做到的吗?
我正在开发 Android 通话录音应用程序。它在某些设备(MI 3S、HTC Desire 620、OPOO 等)上运行良好,但在三星 Galaxy S7 上出现问题。远程语音未在三星 Galaxy S7 中录音。当我使用 ACR 时,这个应用程序运行良好。所以,基本上我想知道他们在我的通话录音应用程序中缺少的 ACR 应用程序中使用了什么。我尝试了使用不同选项的应用程序AudioSource,OutputFormat并且AudioEncode但一切都是徒劳。
请帮我找出这个问题。
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setAudioSamplingRate(8000);
recorder.setAudioEncodingBitRate(12200);
recorder.setOutputFile(audiofile.getAbsolutePath());
try {
recorder.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
recorder.start();
Run Code Online (Sandbox Code Playgroud) 如何在 ExoPlayer2 上设置字幕?我试过这个 tu bild MergingMediaSource:
SingleSampleMediaSource singleSampleSource = new SingleSampleMediaSource(Uri.fromFile(new File("/sdcard/Download/a.vtt")), mediaDataSourceFactory,
Format.createTextSampleFormat(null, MimeTypes.TEXT_VTT, null, Format.NO_VALUE, C.SELECTION_FLAG_DEFAULT, "se", null, 0),
50000 //in us
);
return new MergingMediaSource(new ExtractorMediaSource(uri, mediaDataSourceFactory, new DefaultExtractorsFactory(),
mainHandler, eventLogger), singleSampleSource);
Run Code Online (Sandbox Code Playgroud)
但我收到了这个错误:
Unexpected exception loading stream
java.lang.NullPointerException: Attempt to get length of null array
at com.google.android.exoplayer2.source.SingleSampleMediaPeriod$SourceLoadable.load(SingleSampleMediaPeriod.java:272)
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:295)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Run Code Online (Sandbox Code Playgroud) 抱歉这个愚蠢的问题,我正在为许多应用程序制作一个模块。
我在我的模块 ( public class CustomView extends FrameLayout) 中创建了一个自定义视图类。
我已将此模块导入应用程序,应用程序中的类可以调用我的自定义视图,但 xml 无法调用我的自定义视图 ( compile project(':mymodule'))。
我还没有找到解决方案,谢谢大家的帮助。
DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this,
Util.getUserAgent(this, "yourApplicationName"), bandwidthMeter);
ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
MediaSource videoSource = new ExtractorMediaSource(mp4VideoUri,
dataSourceFactory, extractorsFactory, null, null);
player.prepare(videoSource);
Run Code Online (Sandbox Code Playgroud)
我如何在ExoPlayer 2中使用自定义数据源或AesCipherDataSource。我尝试在Google中搜索,但根本没有解决方案
在“一次性”过滤基础数据框后,如何将变量的值分配给 ggplot 标题。
library(tidyverse)
#THIS WORKS
d <- mtcars %>%
filter(carb==4)
d %>%
ggplot()+
labs(title=paste(unique(d$carb)))+
geom_bar(aes(x=am,
fill=gear),
stat="count")
Run Code Online (Sandbox Code Playgroud)

#THIS DOESN'T WORK
mtcars %>%
filter(carb==4) %>%
ggplot()+
labs(title=paste(data=. %>% distinct(carb) %>% pull()))+
geom_bar(aes(x=am,
fill=gear),
stat="count")
#> Error in as.vector(x, "character"): cannot coerce type 'closure' to vector of type 'character'
#THIS ALSO DOESN'T WORK
mtcars %>%
filter(carb==3) %>%
ggplot()+
labs(title=paste(.$carb))+
geom_bar(aes(x=am,
fill=gear),
stat="count")
#> Error in paste(.$carb): object '.' not found
Run Code Online (Sandbox Code Playgroud)
由reprex 包(v0.3.0)于 2020 年 4 月 23 日创建
android ×9
exoplayer ×3
exoplayer2.x ×3
module ×2
datasource ×1
ggplot2 ×1
jenkins ×1
r ×1
subtitle ×1
versioning ×1
xml ×1