从Android应用程序中的受保护目录流式传输视频



我在Android应用程序中从服务器上的受保护目录流式传输视频文件时遇到问题。我使用的是基本的HTTP身份验证(htaccess)。

我在URL中发送用户名和密码,然后将其解析为URI,但它不起作用。我有一个Apache服务器,我在上面创建了一个目录,并在其中上传了一个视频文件,并用.htaccess保护了该目录。

当我流式传输视频时没有。htaccess保护它可以很好地流式传输,但当我使用受保护的目录时,它不会流式传输视频,并给出错误:

无法在客户端打开文件;正在尝试服务器端:java.io.FileNotFoundException:无内容提供商:werplay.com/LT_Data/LTWorkthroughVideos/test.mp4";

我给出了下面的代码片段。

public class MainActivity extends AppCompatActivity {
    VideoView videoView;
    String LINK = "http://user:pass@www.site.com/Folder1/Folder2/test.mp4";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        videoView = (VideoView)findViewById(R.id.videoView);
        playServerVideo(false,LINK);
    }
    public  void playServerVideo(boolean controls, String url)
    {
        Uri video = Uri.parse(url);

        if (controls)
        {
            MediaController mediaController = new MediaController(this);
            mediaController.setAnchorView(videoView);
            videoView.setMediaController(mediaController);
            videoView.setVideoURI(video);
            videoView.start();
        }
        else
        {
            videoView.setVideoURI(video);
           // videoView.
            videoView.start();
        }
    }

我已经找到了这个问题的解决方案,出现这个错误是因为我在模拟器上运行应用程序,当在设备上测试相同的东西时,它运行得非常好。

最新更新