如何使用"自定义"视频捕获器来创建VideoTrack并提供帧?
创建VideoTrack的经典方法是:
1 - 获取VideoCapturer实例
VideoCapturer capturer = VideoCapturer.create(name);
Run Code Online (Sandbox Code Playgroud)
2 - 创建一个VideoSource
VideoSource videoSource = peerconnectionFactory.createVideoSource(capturer, videoConstraints);
Run Code Online (Sandbox Code Playgroud)
3 - 使用视频源创建VideoTrack
VideoTrack videoTrack = peerconnectionFactory.createVideoTrack("Label", videoSource);
Run Code Online (Sandbox Code Playgroud)
4 - 将轨道添加到MediaStream
我想知道是否有办法改变第一步.不使用本机Capturer实例,而是使用Android版本,并使用回调为VideoTrack提供框架:
public void onPreviewFrame(byte[] data, Camera camera) {
// provide the frames to the VideoTrack
}
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我可以使用以下方法检索包名:
Context.getPackageName()
Run Code Online (Sandbox Code Playgroud)
要么
BuildConfig.APPLICATION_ID
Run Code Online (Sandbox Code Playgroud)
这两种方式有什么区别吗?在特定情况下,是否优先考虑另一个?假设他们总是给出相同的结果是否安全?
基本上哪一个更好?
我想在新的BottomNavigationView中添加一个自定义项.
有很多关于使用普通导航视图添加自定义视图的教程,但我找不到有关底部视图的任何内容.
这是我的观点
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:menu="@menu/menu_main" />
Run Code Online (Sandbox Code Playgroud)
这是菜单
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_one"
android:icon="@drawable/ic_tab_one"
android:title="one" />
<item
android:id="@+id/menu_two"
app:actionLayout="@layout/item_action_notification"
android:title="two" />
Run Code Online (Sandbox Code Playgroud)
正如你所看到的那样,我按正常方式放置了actionLayout标签,但它根本就没有显示出来.
有任何想法吗?谢谢.
我已经成功构建了Android的AppRTC,我可以让videocalls提供演示应用程序的地址(https://apprtc.appspot.com/?r=XXXXXXXX)
我的问题是,如何使这个应用程序使用自定义WebRTC服务器或与另一个WebRTC应用程序(例如https://talky.io/)
我对如何实现这一点感到有点困惑.我也按照这里的教程,我可以在桌面浏览器之间进行调用,但我不知道如何从Android应用程序连接.
PS
如果有人感兴趣我已经按照以下链接构建了应用程序:
WebRTC:忍者构建不起作用(请参阅注释)
http://simonguest.com/2013/08/06/building-a-webrtc-client-for-android/
我有几个注释的公共方法@Transactional,IntelliJ显示它们可以是包私有或私有的警告.
@Transactional
public void doSomething() {
///body
}
Run Code Online (Sandbox Code Playgroud)
由于注释的方法@Transactional应该是公共的,如何在IntelliJ中仅对这些方法禁用此检查/警告?
所以这就是故事,我正在构建一个WebRTC应用程序,我必须在服务器上记录流.
"WebRTC是p2p dude,选择一个媒体服务器"
是的,我知道,请避免这个评论;)
但后来我讨论了一件事,如果我强制所有流使用TURN服务器怎么办?数据包正在通过服务器,所以我想我可以把它们保存起来
问题是如何做到这一点.
有什么建议?
我创建了一个自定义设置器,该设置器将枚举的文本设置为editText:
public enum Gender {
MALE, FEMALE}
Run Code Online (Sandbox Code Playgroud)
XML:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
custom:holder="@={user.gender}" />
Run Code Online (Sandbox Code Playgroud)
适配器:
@BindingAdapter ("custom:holder")
public static void setHolder(EditText editText, Gender gender) {
editText.setText(gender.toString());
}
Run Code Online (Sandbox Code Playgroud)
来自代码:
binder= DataBindingUtil.bind(getView());
binder.setUser(user);
Run Code Online (Sandbox Code Playgroud)
如何指定返回Gender对象的吸气剂?
我尝试了以下代码,但这似乎不是正确的方法。
@BindingAdapter ("custom:holder")
public static Gender getHolder(EditText editText) {
return Gender.valueOf(editText.getText().toString());
}
Run Code Online (Sandbox Code Playgroud)
我想要实现的是,当我打电话时binder.getUser(),性别会自动填充。有可能这样做吗?
我在SO上尝试了几种解决方案,但没有一种方法适合我.
如何在Android Picasso库版本2.5.2中添加自定义HTTP标头?
尝试使用源代码树进行交互式基准调整时,出现此消息。
If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the file manually to continue.
Run Code Online (Sandbox Code Playgroud)
致命:无法创建'X:/sources/project/.git/index.lock':文件存在。
问题是X:/sources/project/.git/index.lock不存在
SO上的所有其他解决方案都不适合我,因为它们都说要删除此文件。
android ×7
webrtc ×3
android-menu ×1
android-view ×1
git ×1
git-rebase ×1
gradle ×1
java ×1
libjingle ×1
picasso ×1
sourcetree ×1
spring ×1
turn ×1
windows ×1