protected override void onCreate(global::android.os.Bundle savedInstanceState) { // http://www.dreamincode.net/forums/topic/130521-android-part-iii-dynamic-layouts/ // https://forums.oculus.com/viewtopic.php?f=67&t=27999 var stringFromJNI = xMarshal.stringFromJNI(this); Console.WriteLine(new { stringFromJNI }); //var refSystemActivities = typeof(global::com.oculus.systemutils.Ev); // loaded by // X:\opensource\ovr_sdk_mobile_1.0.0.0\VrAppSupport\VrSound\Src\SoundPool.cpp // "X:\opensource\ovr_sdk_mobile_1.0.0.0\VrAppSupport\VrSound\Projects\Android\src\com\oculus\sound\SoundPooler.java" //var refSoundPooler = typeof(global::com.oculus.sound.SoundPooler); //var refSoundPooler = typeof(global::com.oculus.sound.xSoundPooler); // static const char * videosDirectory = "Oculus/360Videos/"; var mp4 = from pf in new DirectoryInfo("/sdcard/oculus/360Videos/").GetFiles() where pf.Extension.ToLower() == ".mp4" //where pf.Length == 0 select pf; var mp4count = mp4.Count(); Console.WriteLine(new { mp4count }); foreach (var item in mp4) { Console.WriteLine(item.FullName); } var refVolumeReceiver = new com.oculus.vrgui.xVolumeReceiver { }; var refSoundPooler = new com.oculus.sound.xSoundPooler { }; var refVrLocale = typeof(global::com.oculus.vrlocale.VrLocale); //var refVolumeReceiver = typeof(global::com.oculus.vrgui.VolumeReceiver); //[javac] W:\src\x360video\Activities\ApplicationActivity.java:21: error: SoundPooler is not public in com.oculus.sound; cannot be accessed from outside package //[javac] import com.oculus.sound.SoundPooler; //[javac] ^ var refSystemActivities = typeof(global::com.oculus.systemutils.SystemActivities); Console.WriteLine("enter onCreate " + new { refSystemActivities, refSoundPooler, refVrLocale, refVolumeReceiver }); base.onCreate(savedInstanceState); Intent intent = getIntent(); String commandString = com.oculus.vrappframework.VrActivity.getCommandStringFromIntent(intent); String fromPackageNameString = com.oculus.vrappframework.VrActivity.getPackageStringFromIntent(intent); String uriString = com.oculus.vrappframework.VrActivity.getUriStringFromIntent(intent); Console.WriteLine("onCreate " + new { fromPackageNameString, commandString, uriString }); var p = com.oculus.oculus360videossdk.MainActivity.nativeSetAppInterface(this, fromPackageNameString, commandString, uriString); base_setAppPtr(p); audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); #region lets listen to incoming udp // could we define our chrome app inline in here? // or in a chrome app. could we define the android app inline? #region ReceiveAsync Action <IPAddress> f = async nic => { //b.setText("awaiting at " + nic); WifiManager wifi = (WifiManager)this.getSystemService(Context.WIFI_SERVICE); var lo = wifi.createMulticastLock("udp:39814"); lo.acquire(); // Z:\jsc.svn\examples\java\android\AndroidUDPClipboard\ApplicationActivity.cs // X:\jsc.svn\examples\java\android\forms\FormsUDPJoinGroup\FormsUDPJoinGroup\ApplicationControl.cs // X:\jsc.svn\examples\java\android\LANBroadcastListener\LANBroadcastListener\ApplicationActivity.cs var uu = new UdpClient(39814); uu.JoinMulticastGroup(IPAddress.Parse("239.1.2.3"), nic); while (true) { // cannot get data from RED? var x = await uu.ReceiveAsync(); // did we jump to ui thread? //Console.WriteLine("ReceiveAsync done " + Encoding.UTF8.GetString(x.Buffer)); //var data = Encoding.UTF8.GetString(x.Buffer); // https://sites.google.com/a/jsc-solutions.net/work/knowledge-base/15-dualvr/20150704 // https://sites.google.com/a/jsc-solutions.net/work/knowledge-base/15-dualvr/20150704/mousedown //SetClipboard(data); var md5string = x.Buffer.ToHexString(); var lookup = startMovieLookup.ContainsKey(md5string); Console.WriteLine(new { md5string, lookup }); if (lookup) { // this wont work if we are paused. this.startMovieFromUDP( startMovieLookup[md5string] ); } } }; // WithEach defined at? NetworkInterface.GetAllNetworkInterfaces().WithEach( n => { // X:\jsc.svn\examples\java\android\forms\FormsUDPJoinGroup\FormsUDPJoinGroup\ApplicationControl.cs // X:\jsc.svn\core\ScriptCoreLibJava\BCLImplementation\System\Net\NetworkInformation\NetworkInterface.cs var IPProperties = n.GetIPProperties(); var PhysicalAddress = n.GetPhysicalAddress(); foreach (var ip in IPProperties.UnicastAddresses) { // ipv4 if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { if (!IPAddress.IsLoopback(ip.Address)) { if (n.SupportsMulticast) { f(ip.Address); } } } } } ); #endregion #endregion }
protected override void onCreate(global::android.os.Bundle savedInstanceState) { // http://www.dreamincode.net/forums/topic/130521-android-part-iii-dynamic-layouts/ // https://forums.oculus.com/viewtopic.php?f=67&t=27999 var stringFromJNI = xMarshal.stringFromJNI(this); Console.WriteLine(new { stringFromJNI }); //var refSystemActivities = typeof(global::com.oculus.systemutils.Ev); // loaded by // X:\opensource\ovr_sdk_mobile_1.0.0.0\VrAppSupport\VrSound\Src\SoundPool.cpp // "X:\opensource\ovr_sdk_mobile_1.0.0.0\VrAppSupport\VrSound\Projects\Android\src\com\oculus\sound\SoundPooler.java" //var refSoundPooler = typeof(global::com.oculus.sound.SoundPooler); //var refSoundPooler = typeof(global::com.oculus.sound.xSoundPooler); // static const char * videosDirectory = "Oculus/360Videos/"; var mp4 = from pf in new DirectoryInfo("/sdcard/oculus/360Videos/").GetFiles() where pf.Extension.ToLower() == ".mp4" //where pf.Length == 0 select pf; var mp4count = mp4.Count(); Console.WriteLine(new { mp4count }); foreach (var item in mp4) { Console.WriteLine(item.FullName); } var refVolumeReceiver = new com.oculus.vrgui.xVolumeReceiver { }; var refSoundPooler = new com.oculus.sound.xSoundPooler { }; var refVrLocale = typeof(global::com.oculus.vrlocale.VrLocale); //var refVolumeReceiver = typeof(global::com.oculus.vrgui.VolumeReceiver); //[javac] W:\src\x360video\Activities\ApplicationActivity.java:21: error: SoundPooler is not public in com.oculus.sound; cannot be accessed from outside package //[javac] import com.oculus.sound.SoundPooler; //[javac] ^ var refSystemActivities = typeof(global::com.oculus.systemutils.SystemActivities); Console.WriteLine("enter onCreate " + new { refSystemActivities, refSoundPooler, refVrLocale, refVolumeReceiver }); base.onCreate(savedInstanceState); Intent intent = getIntent(); String commandString = com.oculus.vrappframework.VrActivity.getCommandStringFromIntent(intent); String fromPackageNameString = com.oculus.vrappframework.VrActivity.getPackageStringFromIntent(intent); String uriString = com.oculus.vrappframework.VrActivity.getUriStringFromIntent(intent); Console.WriteLine("onCreate " + new { fromPackageNameString, commandString, uriString }); var p = com.oculus.oculus360videossdk.MainActivity.nativeSetAppInterface(this, fromPackageNameString, commandString, uriString); base_setAppPtr(p); audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); #region lets listen to incoming udp // could we define our chrome app inline in here? // or in a chrome app. could we define the android app inline? #region ReceiveAsync Action<IPAddress> f = async nic => { //b.setText("awaiting at " + nic); WifiManager wifi = (WifiManager)this.getSystemService(Context.WIFI_SERVICE); var lo = wifi.createMulticastLock("udp:39814"); lo.acquire(); // Z:\jsc.svn\examples\java\android\AndroidUDPClipboard\ApplicationActivity.cs // X:\jsc.svn\examples\java\android\forms\FormsUDPJoinGroup\FormsUDPJoinGroup\ApplicationControl.cs // X:\jsc.svn\examples\java\android\LANBroadcastListener\LANBroadcastListener\ApplicationActivity.cs var uu = new UdpClient(39814); uu.JoinMulticastGroup(IPAddress.Parse("239.1.2.3"), nic); while (true) { // cannot get data from RED? var x = await uu.ReceiveAsync(); // did we jump to ui thread? //Console.WriteLine("ReceiveAsync done " + Encoding.UTF8.GetString(x.Buffer)); //var data = Encoding.UTF8.GetString(x.Buffer); // https://sites.google.com/a/jsc-solutions.net/work/knowledge-base/15-dualvr/20150704 // https://sites.google.com/a/jsc-solutions.net/work/knowledge-base/15-dualvr/20150704/mousedown //SetClipboard(data); var md5string = x.Buffer.ToHexString(); var lookup = startMovieLookup.ContainsKey(md5string); Console.WriteLine(new { md5string, lookup }); if (lookup) { // this wont work if we are paused. this.startMovieFromUDP( startMovieLookup[md5string] ); } } }; // WithEach defined at? NetworkInterface.GetAllNetworkInterfaces().WithEach( n => { // X:\jsc.svn\examples\java\android\forms\FormsUDPJoinGroup\FormsUDPJoinGroup\ApplicationControl.cs // X:\jsc.svn\core\ScriptCoreLibJava\BCLImplementation\System\Net\NetworkInformation\NetworkInterface.cs var IPProperties = n.GetIPProperties(); var PhysicalAddress = n.GetPhysicalAddress(); foreach (var ip in IPProperties.UnicastAddresses) { // ipv4 if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { if (!IPAddress.IsLoopback(ip.Address)) if (n.SupportsMulticast) f(ip.Address); } } } ); #endregion #endregion }