> For the complete documentation index, see [llms.txt](https://inquiry.sunbird.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://inquiry.sunbird.org/learn/product-and-developer-guide/quick-starter-guide/inquiry-components/player.md).

# Player

Sunbird [inQuiry Player](/learn/product-and-developer-guide/question-set-player/architecture.md) is used for consuming the question set. The current player supports the following question types,

* Multiple Choice Question (MCQ)
* Multi-select Multiple Choice Question (MMCQ)
* Subjective Question (SA)

This Player is also known as Question Set Player or QuML Player.

## Question Set Player (QuML Player)

Question set player is a player provided by inQuiry to create engaging & inclusive experiences for end users consuming the question sets.

More details on the player can be found [here](/learn/capabilities-1.md#d-question-set-player-quml-player) and [here](/learn/product-and-developer-guide/question-set-player.md).

Player architecture is as below,

<figure><img src="/files/eq9VCbJJyE06zOHWwmBg" alt=""><figcaption></figcaption></figure>

Player Module is as detailed below,

<figure><img src="/files/6bbidP6XOYVd9juj9prh" alt=""><figcaption></figcaption></figure>

<details>

<summary>Additional details about the internals of the Player</summary>

* Player Module - Root module of the player library where all the components and services are imported
* Player Component - Base component of the Editor which consists of the sub components
  * Section Component - Handles different types of questions by using its sub components
    * Start Page Component - Provide instructions for exams
    * MCQ Component - for rendering multiple choice questions.
    * SA Component - for rendering short answer questions (subjective)
    * Alert Component - Showing feedback or solutions
  * End Page Component - Summary of exam
* Viewer Service - service layer that makes the API calls related to Player. For eg:- question list
* Telemetry Service - initialise the Telemetry SDK and prepare the telemetry events
  * Telemetry SDK - to sent out the telemetry events to external Telemetry Service

</details>

#### Question / QuestionSet Consumption flow

<figure><img src="/files/3fzdBSQDEn2yiB7PWPa2" alt=""><figcaption><p>User attempting questions</p></figcaption></figure>

#### Code Structure

* [Repository](/learn/product-and-developer-guide/question-set-player/source-code.md)
* Important Folder / Package structure

  ```
  - projects
  	- quml-demo-app [Sample application for library]
  	- quml-library [Contains library components and service]
  	- quml-player-wc [Application to generate web component]
  - web-component-examples [Contains sample projects]
  - web-component [Contains generated web component files]
  ```

#### Dependencies

Details are listed [here](https://inquiry.sunbird.org/use/learn-more/dependencies) for the below specified dependencies

* [Sunbird QuML Specification](https://quml.sunbird.org/)
* [Sunbird inQuiry Service](/learn/product-and-developer-guide/quick-starter-guide/inquiry-components/inquiry-service.md)&#x20;
* Sunbird Telemetry

## APIs used by Player

APIs invoked from Player component is listed [here](/learn/product-and-developer-guide/question-set-player/apis.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://inquiry.sunbird.org/learn/product-and-developer-guide/quick-starter-guide/inquiry-components/player.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
