/** * @param LiveBroadcast $liveBroadcast * @param OutputFacebook $outputFacebook * @return null|string * @throws LiveBroadcastOutputException */ public function createFacebookLiveVideo(LiveBroadcast $liveBroadcast, OutputFacebook $outputFacebook) { if (!$this->facebookSDK) { $this->initFacebook(); } try { $params = array('title' => $liveBroadcast->getName(), 'description' => $liveBroadcast->getDescription()); $this->facebookSDK->setDefaultAccessToken($outputFacebook->getAccessToken()); $response = $this->facebookSDK->post($outputFacebook->getEntityId() . '/live_videos', $params); } catch (FacebookResponseException $ex) { throw new LiveBroadcastOutputException('Facebook exception: ' . $ex->getMessage()); } catch (FacebookSDKException $ex) { throw new LiveBroadcastOutputException('Facebook SDK exception: ' . $ex->getMessage()); } $body = $response->getDecodedBody(); if (array_key_exists('stream_url', $body)) { return $body['stream_url']; } return null; }
/** * Test if the channelType is correct for this output */ public function testGetChannelType() { $facebook = new OutputFacebook(); self::assertEquals(ChannelFacebook::class, $facebook->getChannelType()); }