Comments (6)
3 options when user "manually" scrolls the viewport:
- (default?) shift playback to "top-most" visible element
- continue playback even if active element is invisible (style highlight, but no "bring into view" scroll). Problem: users looses track of playback location (hard to find by just scrolling around), maybe switching back to option (1) is acceptable to bring back active element into view? ... but what if paused?)
- pause (user is required to explicitly resume ... but we then need new "pause/resume" logic in the MO engine, because right now the playback starts at the topmost visible element, not the preserved previously-paused location)
Side issue: this configurable user setting (preference dialog or top-level MO UI switch) may also impact paginated reflowable view (i.e. when switching page, obviously there is no "user scroll" interaction).
from readium-shared-js.
Related issue:
#58
from readium-shared-js.
For options (1) and (2) above:
https://github.com/readium/readium-shared-js/blob/develop/js/views/media_overlay_player.js#L1543
==> An additional condition is needed for call to reader.insureElementVisibility(), which in the case of the scroll view, results in:
https://github.com/readium/readium-shared-js/blob/develop/js/views/scroll_view.js#L1290
...and for the paginated view:
https://github.com/readium/readium-shared-js/blob/develop/js/views/reflowable_view.js#L718
...fixed layout view assume "always visible":
https://github.com/readium/readium-shared-js/blob/develop/js/views/fixed_view.js#L651
from readium-shared-js.
Setting would need to be implemented here:
https://github.com/readium/readium-shared-js/blob/develop/js/models/viewer_settings.js#L34
...and UI affordance in readium-js-viewer:
https://github.com/readium/readium-js-viewer/blob/master/lib/EpubReaderMediaOverlays.js
from readium-shared-js.
The default behaviour seems reasonable if the assumed use case is to follow along with the text being read. I don't think I can actively listen and jump around the book.
from readium-shared-js.
Hi @dmitrym0, there is a high-importance feature request for use-case (2), namely: manual scroll to peek at content (e.g. image, diagrams) after or before currently-spoken text.
I have implemented the required feature in shared-js (with "ensure visibility" mechanism to restore visual position by using pause/play, or previous/next, or click-on-text, etc. (basically, anything other than just manually scrolling)):
78dfc8e
Note that there is no js-viewer UI yet to control this option.
from readium-shared-js.
Related Issues (20)
- Chapters getting truncated [iOS - readium-shared-js library] HOT 4
- Absolutely positioned elements are misplaced HOT 5
- Building URL query parameters strips out #fragments HOT 1
- FAQ: custom external font faces
- Hyperlinking: hash fragment identifiers are discarded by internal pagination / scroll offset logic? HOT 3
- Use of reserved word "package" HOT 2
- Turn pages very slow in big html files with Android System Webview 63 HOT 25
- calculatePageIndexDeltaByRectangles has wrong logic calculating pageIndex HOT 6
- Build output: UMD bundle HOT 4
- Internet Explorer very slow to resize document with large spines (100+ pages)
- Please help, openContentUrl() dosen't work well in Electron app when the url contains #. HOT 1
- Rangy dependency not needed strictly-speaking (SMIL experimental feature + Juan's highlighter) HOT 2
- Firefox: Resize Sensor does not trigger when content after expanded element flows into following columns in a certain way
- Highlights HOT 1
- In Redium Reader CFI - is it possible to go exact CFI location in a reflowable document when search text location are multiple in a page HOT 4
- Is there any reason why navigator.epubReadingSystem is writable? HOT 2
- Invalid location/CFI received HOT 2
- Issue with continuous scrolling using (macOs + Safari) trackpad
- The page turn is not done with the readaloud
- API Document
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from readium-shared-js.