小编Ant*_*ton的帖子

在iOS 9上玩HLS m3u8

我在播放视频流HLS m3u8时遇到问题.我用目标iOS9创建了一个新项目,并使用AVPlayer来制作视频流.虽然测试流正在运行,但我在Windows和Android应用程序中使用的所有其他视频流都无法与iOS AVPlayer类一起使用.您能否提供建议是否可以调整AVPlayer或可以使用哪个第三方现代库?更新:尝试Vitamio的演示应用程序,它的工作原理.

这是我使用的代码:

    @IBAction func pressed(sender: AnyObject) {
// this url work, all others not
        let url = NSURL(string:"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8")
        let player = AVPlayer(URL: url!)
        let playerController = AVPlayerViewController()

        playerController.player = player
        self.addChildViewController(playerController)
        self.myView.addSubview(playerController.view)
        playerController.view.frame = self.myView.frame

        player.play()
    }
Run Code Online (Sandbox Code Playgroud)

http-live-streaming ios avplayer m3u8

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

为 AVPlayer 设置用户代理

你能帮忙设置 AVPlayer 的用户代理吗?

我有以下代码:

    let url = NSURL(string:"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8")

    var headers: [String:String] = ["User-Agent": "myagent"]
    let asset: AVURLAsset = AVURLAsset.URLAssetWithURL(url!, options: ["AVURLAssetHTTPHeaderFieldsKey": headers])
    let playerItem = AVPlayerItem(asset)
    player.replaceCurrentItemWithPlayerItem(playerItem)
    player.play()
Run Code Online (Sandbox Code Playgroud)

它不起作用。如何在 Swift 中以正确的方式设置用户代理?

ios swift

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

dagger-1.2.2.jar 和 dagger-2.22.jar 模块中的重复类

将所有库升级到 androidx 和最新版本的 Firebase 库后

我在使用 2 个不同版本的 dagger java 文件时出错,错误消息中的链接不起作用。问题发生在步骤:app:checkDebugDuplicateClasses

我不直接在我的代码中使用匕首,使用

./gradlew app:dependencies
Run Code Online (Sandbox Code Playgroud)

我找到了什么com.google.android.gms:play-services-cast-framework:17.1.0用途com.google.dagger:dagger:2.22,但没有关于1.2.2.

Cause 1: java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.lang.RuntimeException: Duplicate class dagger.Lazy found in modules dagger-1.2.2.jar (dagger-1.2.2.jar) and dagger-2.22.jar (com.google.dagger:dagger:2.22)
Duplicate class dagger.MembersInjector found in modules dagger-1.2.2.jar (dagger-1.2.2.jar) and dagger-2.22.jar (com.google.dagger:dagger:2.22)
Duplicate class dagger.Module found in modules dagger-1.2.2.jar (dagger-1.2.2.jar) and dagger-2.22.jar (com.google.dagger:dagger:2.22)
Duplicate class dagger.Provides found in modules dagger-1.2.2.jar (dagger-1.2.2.jar) and dagger-2.22.jar (com.google.dagger:dagger:2.22)
Duplicate class javax.inject.Inject found in modules javax.inject-1.jar (javax.inject-1.jar) …
Run Code Online (Sandbox Code Playgroud)

android gradle dagger

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

未显示标准搜索栏的进度线

我发现SeekBar有问题。在具有Android 4,5,6的设备上,我没有这样的问题,但是在具有Android 7的Samsung S8上,出现了进度条问题。如果删除旋转参数,则SeekBar变为水平,问题消失,但是我需要标准的垂直SeekBar。 更新:Nexus模拟器API 24(Android 7)上的相同问题。我已附加了我在Android 6(LG,Sony)和Android 7(Samsung S8)上运行的应用程序的2个屏幕截图和代码:

    <SeekBar android:id="@+id/seekBar"
    android:layout_width="100dp"
    android:layout_height="42dp"
    android:background="#20FFFFFF"
    android:rotation="270"
    android:layout_gravity="center"
    >
</SeekBar>
Run Code Online (Sandbox Code Playgroud)

和完整的代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/icon"
        android:layout_width="42dp"
        android:layout_height="24dp"
        android:paddingTop="6dp"
        android:background="#20FFFFFF"
        android:layout_gravity="center"
        android:src="@drawable/iconvolume" />
    <LinearLayout
        android:layout_width="42dp"
        android:layout_height="100dp"
        android:gravity="center">

    <SeekBar android:id="@+id/seekBar"
        android:layout_width="100dp"
        android:layout_height="42dp"
        android:background="#20FFFFFF"
        android:rotation="270"
        android:layout_gravity="center"
        >
    </SeekBar>
    </LinearLayout>

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

Android 7

Android 6

android samsung-mobile android-7.0-nougat

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

Android PiP 模式和应用生命周期

我正在将画中画模式添加到我的应用程序中,但发现生命周期存在问题。官方文档说:“当您的活动切换到画中画时,系统会将活动置于暂停状态并调用活动的 onPause() 方法。视频播放不应暂停,如果活动在画中画模式下暂停,则应继续播放。 ” 但就我而言,进入画中画模式后,我有以下顺序:

07-19 17:03:40.094 Enter PiP mode
07-19 17:03:40.193 OnPause(
07-19 17:03:40.780 OnStop()
07-19 17:03:40.788 OnDestroy()
07-19 17:03:40.927 OnCreate()
07-19 17:03:40.937 OnStart()
07-19 17:03:41.014 OnResume
07-19 17:03:41.024 OnPause()
Run Code Online (Sandbox Code Playgroud)

怎么了?之后,我在一个小的画中画窗口中重新启动了一个应用程序。

public void Pip_Click(View v) {

        if (android.os.Build.VERSION.SDK_INT >= 26) {
            //Trigger PiP mode
            try {
                Rational rational = new Rational(simpleExoPlayerView.getWidth(), simpleExoPlayerView.getHeight());

                PictureInPictureParams mParams = new PictureInPictureParams.Builder()
                                .setAspectRatio(rational)
                                .build();

                appendLog("enter PiP mode");
                enterPictureInPictureMode(mParams);

                setFullScreen();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            }
        } else {
            Toast.makeText(MainActivity.this, "Not supported", Toast.LENGTH_SHORT).show();
        } …
Run Code Online (Sandbox Code Playgroud)

java android picture-in-picture

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