Camera

Service URI - luna://com.webos.service.camera

Provides methods that return the information of camera and microphone.

The Camera Service manages camera/microphone devices which are connected to webOS TV. You can get device URI with this API and get more information of each device with device URI.

This API is deprecated from webOS TV 4.0.

Methods

Method

Description

Supported in Emulator

getInfo

Returns the detailed information of a device. 

No

getList

Returns a list of camera and microphone devices which are connected to webOS TV.

No

isCovered

Returns the cover status of the built-in camera.

No

 

Open All


getInfo

Description

Returns the detailed information of a device. You need to put URI as a parameter which is given by getList() method.

Syntax

getInfo(string uri)

Parameters

Name

Required

Type

Description

uri

Required

string

Device URI

Call Returns

Name

Required

Type

Description

returnValue

Required

boolean

 Flag that indicates success/failure of the request.

  • true: Success

  • false: Failure

errorCode

Optional

number

errorCode contains the error code if the method fails. The method will return errorCode only if it fails.

See the Error Codes Reference of this method for more details.

errorText

Optional

string

errorText contains the error text if the method fails. The method will return errorText only if it fails.

See the Error Codes Reference of this method for more details.

info

Optional

object

Object that holds the detailed information of a device.

Error Reference

Error Code

Error Message

1

Can not close

2

Can not open

3

Can not set

4

Can not start

5

Can not stop

6

The camera device is already closed

7

The camera device is already opened

8

The camera device is already started

9

The camera device is already stopped

10

The camera device is being updated

11

The camera device is busy

12

The camera device is not opened

13

The camera device is not started

14

There is no device

15

No response from the device

16

Parsing error

17

Out of memory

18

Out of parameter range

19

Parameter is missing

20

Service is not ready

21

Some parameters are not set

22

Too many requests

23

Request timeout

24

Unknown service

25

Unsupported device

26

Unsupported format

27

Unsupported sampling rate

28

Unsupported video size

29

Camera firmware is being updated

30

Wrong device number

31

Session ID error

32

Wrong parameter

33

Wrong type

34

Already acquired

35

Unknown error

36

Fail to Special effect

37

Fail to photo view effect

38

Fail to open file

39

Fail to remove the file

40

Fail to create the directory

41

Lack of storage

42

Already exists file

Example

// Example for camera device
var request = webOS.service.request("luna://com.webos.service.camera",
    method: "getInfo",
    parameters: { "uri": "camera://com.webos.service.camera/camera1" },
    onSuccess: function (inResponse) {
        console.log("Result: " + JSON.stringify(inResponse));
        // To-Do something
    },
	onFailure: function (inError) {
		console.log("Failed to get camera device info");
		console.log("[" + inError.errorCode + "]: " + inError.errorText);
		// To-Do something
		return;
	}
});
 
// Example for microphone device
var request = webOS.service.request("luna://com.webos.service.camera",
    method: "getInfo",
    parameters: { "uri": "camera://com.webos.service.camera/mic1" },
    onSuccess: function (inResponse) {
        console.log("Result: " + JSON.stringify(inResponse));
        // To-Do something
    },
	onFailure: function (inError) {
		console.log("Failed to get microphone device info");
		console.log("[" + inError.errorCode + "]: " + inError.errorText);
		// To-Do something
		return;
	}
});

Return Example

// Camera device information
{
    "returnValue": true,
    "info": {
        "name": "BC600 Camera",
        "type": "camera",
        "builtin": true,
        "details": {
            "video": {
                "maxWidth": 1920,
                "maxHeight": 1080
            },
            "picture": {
                "maxWidth": 3264,
                "maxHeight": 2448
            },
            "format": "H264ES|H264TS|SECS|MP4|"
        }
    }
}

// Microphone device information
{
    "returnValue": true,
    "info": {
        "name": "BC600 Camera",
        "type": "microphone",
        "builtin": true,
        "details": {
            "samplingRate": "WB",
            "codec": "PCM"
        }
    }
}

// Failure return
{
    "returnValue": false,
    "errorCode": "32",
    "errorText": "Wrong param"
}

See Also


getList

Description

Returns a list of camera and microphone devices which are connected to webOS TV.

This method provides a subscription. Whenever a device is connected or disconnected, the event occurs. The updated list will be returned for every event.

Syntax

getList([boolean subscribe])

Parameters

Name

Required

Type

Description

subscribe

Optional

boolean

Flag that decides whether to subscribe or not.

  • true: Subscribe.

  • false: Do not subscribe. Call the method only once. (Default)

Call Returns

Name

Required

Type

Description

returnValue

Required

boolean

 Flag that indicates success/failure of the request.

  • true: Success

  • false: Failure

errorCode

Optional

number

errorCode contains the error code if the method fails. The method will return errorCode only if it fails.

See the Error Codes Reference of this method for more details.

errorText

Optional

string

errorText contains the error text if the method fails. The method will return errorText only if it fails.

See the Error Codes Reference of this method for more details.

uriList

Optional

object array

List of devices which are connected to webOS TV. This object holds device type and URI. If there is no connected device, getLIst() will return an empty array.

subscribed

Optional

boolean

Flag that indicates whether the subscription is enabled or not.

  • true: Enabled

  • false: Not enabled.

Error Reference

Error Code

Error Message

1

Can not close

2

Can not open

3

Can not set

4

Can not start

5

Can not stop

6

Camera device is already closed

7

Camera device is already opened

8

Camera device is already started

9

Camera device is already stopped

10

Camera device is being updated

11

Camera device is busy

12

Camera device is not opened

13

Camera device is not started

14

There is no device

15

No response from device

16

Parsing error

17

Out of memory

18

Out of parameter range

19

Parameter is missing

20

Service is not ready

21

Some parameters are not set

22

Too many requests

23

Request timeout

24

Unknown service

25

Unsupported device

26

Unsupported format

27

Unsupported sampling rate

28

Unsupported video size

29

Camera firmware is being updated

30

Wrong device number

31

Session ID error

32

Wrong parameter

33

Wrong type

34

Already acquired

35

Unknown error

36

Fail to Special effect

37

Fail to photo view effect

38

Fail to open file

39

Fail to remove file

40

Fail to create directory

41

Lack of storage

42

Already exists file

Subscription Returns

Name

Required

Type

Description

uriList

Required

Object array

List of devices which are connected to webOS TV. this object holds device type and URI, If there is no connected device, getList() will return empty array.

Example

// One-time call
var request = webOS.service.request("luna://com.webos.service.camera",
    method: "getList",
    onSuccess: function (inResponse) {
		console.log("Result: " + JSON.stringify(inResponse));
		// To-Do something
    },
	onFailure: function (inError) {
		console.log("Failed to get camera device list");
		console.log("[" + inError.errorCode + "]: " + inError.errorText);
		// To-Do something
		return;
	}
});
 
// Subscription
var subscriptionHandle;
 
subscriptionHandle = webOS.service.request("luna://com.webos.service.camera", {
    method: "getList",
    parameters: { "subscribe": true },
    onSuccess: function (inResponse) {       
        if (typeof(inResponse.subscribed) != 'undefined') {
            if (!inResponse.subscribed) {
                console.log("Failed to subscribe the camera device list");
                return;
            }
        }

        console.log("Result: " + JSON.stringify(inResponse));
        // To-Do something
    },
	onFailure: function (inError) {
		console.log("Failed to get camera device list");
		console.log("[" + inError.errorCode + "]: " + inError.errorText);
		// To-Do something
		return;
	}
});
...
// If you need to unsubscribe the data, use cancel() method as below
subscriptionHandle.cancel();

Return Example

// One-time call return
{
    "returnValue": true,
    "uriList": [
        {
            "uri": "camera://com.webos.service.camera/camera1",
            "type": "camera"
        },
        {
            "uri": "camera://com.webos.service.camera\/mic1",
            "type": "microphone"
        }
    ]
}

// No device connected
{
    "returnValue": true,
    "uriList": [ ],
    "subscribed": true
}

// Failure return
{
    "returnValue": false,
    "errorCode": "23",
    "errorText": "Request timeout"
}

// When using subscription return
{
    "returnValue": true,
    "uriList": [
        {
            "uri": "camera://com.webos.service.camera/camera1",
            "type": "camera"
        },
        {
            "uri": "camera://com.webos.service.camera/mic1",
            "type": "microphone"
        }
    ],
    "subscribed": true
}

// Subscription return
{
    "uriList": [
        {
            "uri": "camera://com.webos.service.camera/camera1",
            "type": "camera"
        },
        {
            "uri": "camera://com.webos.service.camera/mic1",
            "type": "microphone"
        }
    ]
}

// No device connected (Subscription return)
{
    "uriList": [ ]
}

See Also


isCovered

Description

Returns the cover status of the built-in camera. You need to put URI as a parameter which is given by getList().

Syntax

isCovered(string uri[, boolean subscribe])

Parameters

Name

Required

Type

Description

uri

Required

string

Device URI

subscribe

Optional

boolean

Flag that decides whether to subscribe or not.

  • true: Subscribe.

  • false: Do not subscribe. Call the method only once. (Default)

Call Returns

Name

Required

Type

Description

returnValue

Required

boolean

 Flag that indicates success/failure of the request.

  • true: Success

  • false: Failure

errorCode

Optional

number

errorCode contains the error code if the method fails. The method will return errorCode only if it fails.

See the Error Codes Reference of this method for more details.

errorText

Optional

string

errorText contains the error text if the method fails. The method will return errorText only if it fails.

See the Error Codes Reference of this method for more details.

covered

Optional

boolean

Flag that indicates whether the built-in camera is covered or not.

  • true: Covered

  • false: Not covered

subscribed

Optional

boolean

Flag that indicates whether the subscription is enabled or not.

  • true: Enabled

  • false: Not enabled.

Error Reference

Error Code

Error Message

1

Can not close

2

Can not open

3

Can not set

4

Can not start

5

Can not stop

6

Camera device is already closed

7

Camera device is already opened

8

Camera device is already started

9

Camera device is already stopped

10

Camera device is being updated

11

Camera device is busy

12

Camera device is not opened

13

Camera device is not started

14

There is no device

15

No response from device

16

Parsing error

17

Out of memory

18

Out of parameter range

19

Parameter is missing

20

Service is not ready

21

Some parameters are not set

22

Too many requests

23

Request timeout

24

Unknown service

25

Unsupported device

26

Unsupported format

27

Unsupported sampling rate

28

Unsupported video size

29

Camera firmware is being updated

30

Wrong device number

31

Session ID error

32

Wrong parameter

33

Wrong type

34

Already acquired

35

Unknown error

36

Fail to Special effect

37

Fail to photo view effect

38

Fail to open file

39

Fail to remove file

40

Fail to create directory

41

Lack of storage

42

Already exists file

Subscription Returns

Name

Required

Type

Description

covered

Required

Boolean

Flag that indicates whether the built-in camera is covered or not.

  • true: Covered

  • false: Not covered

Example

// One-time call
var request = webOS.service.request("luna://com.webos.service.camera",
    method: "isCovered",
    parameters: { "id":"camera://com.webos.service.camera/camera1" },
    onSuccess: function (inResponse) {
        console.log("Result: " + JSON.stringify(inResponse));
        // To-Do something
    },
	onFailure: function (inError) {
		console.log("Failed to get camera cover state");
		console.log("[" + inError.errorCode + "]: " + inError.errorText);
		// To-Do something
		return;
	}
});
 
// Subscription
var subscriptionHandle;
 
subscriptionHandle = webOS.service.request("luna://com.webos.service.camera", {
    method: "isCovered",
    parameters: { "id":"camera://com.webos.service.camera/camera1", "subscribe": true },
    onSuccess: function (inResponse) {
        if (typeof(inResponse.subscribed) != 'undefined') {
            if (!inResponse.subscribed) {
                console.log("Failed to subscribe the camera cover state");
                return;
            }
        }
        console.log("Result: " + JSON.stringify(inResponse));
        // To-Do something
    },
	onFailure: function (inError) {
		console.log("Failed to get camera cover state");
		console.log("[" + inError.errorCode + "]: " + inError.errorText);
		// To-Do something
		return;
	}
});
...
// If you need to unsubscribe the data, use cancel() method as below
subscriptionHandle.cancel();

Return Example

// One-time call return
{
    "returnValue": true,
    "covered": true
}

// Subscription return
{
    "returnValue": false,
    "covered": false,
    "subscribed": true
}

See Also


Object

deviceInfo Object

The object that holds the detailed information of camera or microphone devices.

{
    "name": string,
    "type": string,
    "builtin": boolean,
    "details": deviceDetail object
} 

Name

Required

Type

Description

name

Required

string

Device name

type

Required

string

Device type (camera or microphone)

builtin

Required

boolean

Flag that indicates whether the device is built in or not.

details

Required

object

Object that holds information about recording resolution, supported video format, sampling rate, and audio code.

uriList Object

List of devices which are connected to webOS TV. This object holds device type and URI.

{
    "uri": string,
    "type": string
} 

Name

Required

Type

Description

uri

Required

string

URI of device

type

Required

string

Type of device that distinguishes between camera and microphone.

deviceDetail Object

The object that holds more detailed information for a camera and microphone.

{
    "video": videoDetail Object,
    "picture": pictureDetail Object,
    "format": String,
    "samplingRate": String,
    "codec": String
} 

Name

Required

Type

Description

video

Optional

object

Object that holds a supported maximum video frame size for video recording.

picture

Optional

object

Object that holds a supported maximum image size for picture taking.

format

Optional

string

Supported Video format for video recording. In return string, pipe character (|) is used as a delimiter to distinguish multi-formats.

samplingRate

Optional

string

Supported sampling rate for audio recording.

codec

Optional

string

Supported audio codec for audio recording.

videoDetail Object

The object that holds a supported maximum video frame size for video recording. This object has maximum width and height.

{
    "maxWidth": Number,
    "maxHeight": Number
} 

Name

Required

Type

Description

maxWidth

Required

number

Maximum width that camera device supports for video recording

maxHeight

Required

number

Maximum height that camera device supports for video recording.

pictureDetail Object

The object that holds a supported maximum image size for picture taking. This object has maximum width and height.

{
    "maxWidth": Number,
    "maxHeight": Number
} 

Name

Required

Type

Description

maxWidth

Required

number

Maximum width that camera device supports for picture taking

maxHeight

Required

number

Maximum height that camera device supports for picture taking



Navigation