我在Android应用程序中从服务器上的受保护目录中传输视频文件时遇到问题。我正在使用基本的HTTP身份验证(htaccess)。
我在URL中发送用户名和密码,然后将其解析为URI,但它无效。我有一个Apache服务器,我在其上创建了一个目录,并在其中上传了一个视频文件并使用.htaccess
保护该目录。
当我在没有。htaccess
保护的情况下直播视频时,它会正常播放,但当我使用受保护的目录时,它不会流式传输视频并发出错误:
无法在客户端打开文件;尝试服务器端:java.io.FileNotFoundException:没有内容提供者:werplay.com/LT_Data/LTWalkthroughVideos/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();
}
}
答案 0 :(得分:0)
我已经找到了解决这个问题的方法,这个错误发生了,因为我在模拟器上运行应用程序,当在设备上测试相同的东西时,它工作得很好。