我必须使用自定义组件替换现有Flex项目中的mx:VideoDisplay组件.
为了实现这一点,我必须符合其当前的接口,因此我的组件以以下形式接收视频URL(通过源参数):
我的新组件基于NetConnection和NetStream.对于上面的任何条目,我必须将输入拆分为两个字符串:一个用于NetConnection.connect(NetConnectionStr)方法,另一个用于NetStream.play(NetStreamStr)方法.例如:
构建这两个字符串对于"本地文件"情况非常明显,但在其他情况下却变得棘手.问题是我没有聪明的方法来猜测输入的哪一部分是服务器URL,哪个部分是流名称+目录结构.
在互联网上发现的一些例子中,人们只是猜测源的最后部分(找到最后一个"/"之后的部分)是NetStream名称.在我的情况下,这并不总是正确的,因为流可能在服务器上的子目录中.更糟糕的是因为服务器名称可能包含"/"字符!
由于NetConnection似乎足够"智能",我的第一次尝试是使用完整的源URL调用connect方法.例如,给定 rtmp://streamcloud.myserver.com/cfx/st/somedirectory/subdirectory/myflvfile.flv
NetConnection取得了成功:
然后我希望以某种方式检索服务器的"真实"URL(rtmp://streamcloud.myserver.com/cfx/st),这样我就能猜出流部分(somedirectory/subdirectory/myflvfile).
不幸的是,我发现无法从NetConnection对象中获取真正的服务器地址(connection.uri返回确切的输入).所以这似乎是一个死路一条.
另一种策略可能是连接到服务器,然后迭代地尝试(从最后开始)播放流直到它工作:
鉴于rtmp://streamcloud.myserver.com/cfx/st/somedirectory/subdirectory/myflvfile.flv:
如果没有设置,如何创建新的“Windows 位置”设置?
一段时间以来,我的 Win10 Pro 系统一直在完美的以太网堆栈上运行,但没有设置“网络位置”,这意味着某些服务无法正常工作(或根本无法工作),因为 Windows 本质上是在“公共”中运行模式并禁用它们。
我已经尝试过多轮禁用/删除驱动程序、重置或删除注册表项等。我最近看到这篇文章,其中有一些新信息。所以我现在知道:
在提升的 PowerShell 中,Get-NetConnectionProfile 不返回任何内容 - 根本不返回任何条目。在同一窗口中使用 ipconfig 返回预期信息:
PS C:\WINDOWS\system32> ipconfig
Windows IP Configuration
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . : ivimey.org
IPv4 Address. . . . . . . . . . . : 192.168.43.14
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.43.1
Run Code Online (Sandbox Code Playgroud)
所以我尝试使用 Set-NetConnectionProfile:
PS C:\WINDOWS\system32> …
Run Code Online (Sandbox Code Playgroud) Hai我的应用程序是通过NetConnection保存(到服务器)数据.如果net不可用,我在本地保存,然后当net可用时再发送到服务器.我的问题是Frequetly检查Internet连接.所以我尝试了服务功能来检查网络连接.但它只召唤一次.如何解决我的问题.有人帮我提前谢谢!
更新
package com.android.cdtech;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.net.ConnectivityManager;
import android.view.View;
class ReceiverName extends Activity {
BroadcastReceiver r = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager cm = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE));
if (cm == null)
return;
if (cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected()) {
saveData();
} else {
// Do nothing or notify user somehow
}
}
// code to handle broadcase
private void saveData() {
final …
Run Code Online (Sandbox Code Playgroud) 前段时间我使用右键单击并在Flash世界中提供真正的功能甚至不可能,3天前我发现通过javascript是完全可能的,可行的
那么,是否有可能制作出像多人电脑游戏一样的Flash游戏?我的意思是,真正的在线游戏,没有延迟,没有滞后.
我听说Flash中的网络代码很糟糕,但是,你知道,我认为这也是关于右键点击...而且我完全错了:).
谢谢.
flash ×2
android ×1
apache-flex ×1
multiplayer ×1
netstream ×1
networking ×1
powershell ×1
service ×1
windows-10 ×1