I'm using the vimeo-dot-net library and making a request through the
GetVideosAsync() method that returns me the videos of a certain user.
However, it only brings public videos. How to bring all private videos from a user to vimeo?
Related
I have a project that involves live events which are hosted using Vimeo.
I know we can grab the videos on Vimeo along with their details using:
$response = $vimeo->request('/me/videos', array('name' => 'video_name'), 'GET');
This works great and returns all our videos, both videos and future events.
However, I can not find the date that the event is set to take place within the payload returned by Vimeo. It returns the following dates, none of which is the date the event will take place (which is 3 months from now):
"created_time" => "2019-12-10T11:03:13+00:00"
"modified_time" => "2019-12-10T12:08:11+00:00"
"release_time" => "2019-12-10T11:03:13+00:00"
The date the event is set to take place is included within the iframe that is returned in the payload, however it does not include the year and therefore it is essentially useless for what we need.
I was wondering if anyone with more experience using the Vimeo API would be able to point me in the right direction with this?
Thanks in advance.
The public Vimeo API doesn't currently support Vimeo Live events, so the API won't return any metadata specific to Live events, such as the scheduled broadcast date/time.
I use the Plus.API, Game.API, and Drive.API for IN-APP Purchases, LeaderBoards, and Saving game settings respectively.
Every time I enter the game the Google Play Games keeps popping up even though I refuse the login numerous times. How can I make the Games.API/Driver.API display the login only one time and if there is no INTERNET connection stop popping up until the next time the user starts the game?
This is my code:
//--------------------- Google API INIT
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Plus.API).addScope(Plus.SCOPE_PLUS_LOGIN) //used for Screenshot posting and Google Account for google api services
.addApi(Games.API).addScope(Games.SCOPE_GAMES) //user for Leaderboards
.addApi(Drive.API).addScope(Drive.SCOPE_APPFOLDER) //used for Game Saving
.build();
#Override
protected void onStart() {
super.onStart();
mGoogleApiClient.connect();
}
#Override
protected void onStop() {
if (mGoogleApiClient.isConnected()) {
mGoogleApiClient.disconnect();
}
super.onStop();
}
In your code, you are using the .connect() method of the API. This will try to connect to the service to authenticate with G+. If you wish to avoid this scenario in case the user closes the popup/button the first time, you'll have to store this as Preference Setting in your app and manage it from within your code.
As for checking the connection status, please check the implementation found here: How to check internet access on Android? InetAddress never times out
I have an application in which you can search for videos repeatedly. Do I need to new Vimeo everytime I call $vimeo->request?
$vimeo = new Vimeo(APPLICATION_ID, APPLICATION_SECRET, ACCESS_TOKEN);
$vimeo->request('/videos?query=cars');
You only need to construct a new instance of the Vimeo object if you want to switch to different application id's secrets, or tokens.
I'm trying to make a simple video chat using Flex framework and red5 server. It's an application with 2 video displays. With connection to the server more or less figured out. However, I do not understand how to transfer user1 stream to user2.
Here is functions i use to transfer webcam image to the server and to get the stream.
public function appendStream(connection:NetConnection):void {
myNetStream = new NetStream (connection);
myNetStream.attachAudio(cameraVideo.getMic());
myNetStream.attachCamera(cameraVideo.getCam());
myNetStream.publish("videochat" , "live");
}
public function getStream(connection:NetConnection):Video {
guestNetStream = new NetStream(connection);
video2.attachNetStream (guestNetStream);
guestNetStream.play("videochat");
return video2;
}
As you can see, i am getting my own stream.
Is it possible to solve the problem by flex, or I need programming on the server side?
You dont need separate rooms, simply use unique stream names for each client. The ez way is to create your steam names ahead of time and pass them to your swf via flashvars; that way you dont have to pair them with some other complicated scheme.
For a bit more background in red5, a room is a type of scope and a scope can contain other scopes which includes broadcast scopes, shared object scopes, and rooms. There is no limit on the number of these scopes other than the amount of RAM on the server itself.
You need to have two "rooms" instead of one "videochat". User1 must publish to "videochat1" and stream from "videochat2". Vice versa for user2.
And please remove Flex mention here since there's nothing related to Flex UI framework here
I'm building an online radio player using the AS3 code below:
private var soundChannel:SoundChannel;
private var stationUrl:String = "h t t p : / /205.188.215.230:8002/";
sound = new Sound();
sound.addEventListener(Event.ID3, onID3Change);
sound.load(new URLRequest(stationUrl));
soundChannel = sound.play();
private function onID3Change(e:Event):void
{
....
}
the sound plays successfully, but the problem is that the ID3 event is never triggered!
Does anyone know how to solve this?
ID3 doesn't exist in internet radio streams like this one. I am assuming you're talking about a SHOUTcast/IceCast stream.
For that, you need to implement the icy metadata protocol. For Flash, this is generally just done externally.
See this reference: http://www.smackfu.com/stuff/programming/shoutcast.html
Basically, you send icy-metadata: 1 in the headers of your GET request. The server then inserts metadata right into the middle of the stream, which you pull out before sending the data on to whatever is playing the stream. I'm not sure if this is even possible in Flash, but it certainly is possible to do this in PHP (or any server-side language really) and have your Flash application make a request to your PHP script to get that metadata.